응용 프로그램의 인터넷 액세스를 차단해야합니다. 이 레시피를 연구하고 찾았습니다.
"인터넷 없음"그룹을 만듭니다.
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
다른 방화벽 규칙이 방해되어 있는지?