2011-08-09 9 views
4

안녕하세요 여러분, PHP로 IPTables를 관리 할 수있는 API가 있습니다. 브라우저 로그인으로 라우터를 빌드하는 프로젝트입니다. Fonera와 거의 같습니다. 어떤 생각이라도 환영합니다.API로 IPTables 관리하기 PHP

답변

1

가장 쉬운 방법은 exect()를 사용하여 IPtables 명령을 실행하는 것입니다. 어쩌면 PHP를 사용하여 스크립트를 만든 다음 그 스크립트를 끝까지 실행하십시오. IPtables를 제어 할 수있는 "API"가 많은 리눅스 배포판에서 실행 가능하다고 생각하지 않습니다.

+0

웹 인터페이스를 통해 PHP를 루트로 실행하고 있습니다. – ThiefMaster

+0

나는 그걸 뿌리로 내야한다고 말하지는 않았다. 그것을 피하는 아이디어는 규칙을 만드는 것일 수 있습니다. 그들을 검증하십시오. 파일 시스템에 어딘가에 넣고 cron이나 다른 것이 루트 파일을 처리하게하십시오. 여전히 비린내이지만 루트로서 PHP를 실행하는 것보다 낫습니다. – Cheesebaron

+0

나는 그것에 대해서도 생각하고 있었지만 무언가가 변경되거나 누군가가 로그온 할 때마다 플러시하고 다시 들어가야했습니다. 전체 규칙 세트를 기본적으로 다시 작성하십시오. (내가 잘못하지 않은 경우) @ThiefMaster 알아, securitywise '우'는 과소 평가이지만 선택의 여지가 있습니까? 그냥 iptables에 대한 사용자를 만들 수 있는지 모르겠다. – PvdL

1

: 까다로운 부분은 아파치 프로세스 및 추적을위한 sudo를하고, 나머지는 표준 PHP와 iptables에 있습니다. 클라이언트는 특별한 권한없이 HTTP API를 사용할 수 있으므로 PHP의 curl을 사용하여 rfw에 명령을 보낼 수 있습니다.

샘플 명령을

PUT /drop/input/eth0/11.22.33.44 

에 해당

iptables -I INPUT -i eth0 -s 11.22.33.44 -j DROP 

면책 조항 : 그 프로젝트를 시작했다.

+0

매우 멋진 프로젝트입니다! 나는 당신의 license.txt를 좋아합니다;) – jhexp

+0

부담없이 복사하십시오. 라이센스 자체도 MIT 라이센스가 있습니다. 나는이 면허가 터무니없는 모든 것이 필요하지 않은 날을보기에 충분히 오래 살길 바랍니다. –