iptables로 특정 애플리케이션 차단


0

응용 프로그램의 인터넷 액세스를 차단해야합니다. 이 레시피를 연구하고 찾았습니다.

"인터넷 없음"그룹을 만듭니다.

netblock.sh 스크립트를 다음 줄로 작성하십시오.

sg no-internet "$1"

iptables에 다음 규칙을 추가하십시오.

iptables -I OUTPUT 1 -m owner --gid-owner no-internet ! -d 192.168.1.0/24 -j DROP

응용 프로그램 실행 :

$ netblock.sh /path/to/binary

외부 세계에 대한 액세스는 차단하고 로컬 네트워크에 대한 액세스는 허용하고 싶습니다.

작동한다는 보고서를 보았지만 작동하지 않습니다.

핑으로 테스트하기 :

$ ping www.google.com
PING www.google.com (216.58.222.100) 56(84) bytes of data.
64 bytes from rio01s16-in-f100.1e100.net (216.58.222.100): icmp_seq=1 ttl=54 time=43.5 ms
64 bytes from rio01s16-in-f100.1e100.net (216.58.222.100): icmp_seq=2 ttl=54 time=42.3 ms
^C

$ netblock.sh "ping www.google.com"
ping: www.google.com: Temporary failure in name resolution

효과가있다. 하나...

$ ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.324 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.379 ms
^C

$ netblock.sh "ping 192.168.1.1"
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
^C

로컬 네트워크도 차단되어 있고 싶지 않습니다. 내가 무엇을 잘못하고 있지?


귀하가 따르는 지침은 내 시스템에서 의도 한대로 작동합니다. 당신은 확인 했 iptables다른 방화벽 규칙이 방해되어 있는지?
dsstorefile1

네 죄송합니다. 잊어 버렸습니다. "rc.firewall Linux Firewall 버전 2.0rc9-05/02/03"을 사용하고 있으며 원래 게시물에서 언급 한 iptables 행은 스크립트 끝에 있습니다. 내가 사용하는 구성 가능한 유일한 줄은 PERMIT = "192.168.0.0/24"입니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.