iptables
IP/네트워크/호스트 이름을 기반으로 규칙을 삽입 할 수 있습니다 .
iptables -t filter -A OUTPUT -p tcp -d www.google.com -j ACCEPT -m comment --comment "www.google.com"
다음은 허용되지 않습니다.
iptables v1.4.7: host/network www.google.com not found
Try iptables -h' or 'iptables --help' for more information.
답변1
호스트/네트워크 www.google.com을 찾을 수 없습니다.
DNS를 구성하기 전이나 방화벽이 DNS를 차단하도록 구성되었을 때 이 작업을 수행할 수 있습니다.
그럼에도 불구하고 작업에 잘못된 도구를 사용하고 있습니다. 당신은 망치로 나사를 박으려고 합니다. 당신이 일을 끝낼 수 있다고 해도 나는 그 의자에 앉지 않을 것입니다.
이 예에서는 작동하지 않습니다. www.google.com
IP 주소가 많고 지정된 DNS 조회는 그 중 일부만 반환합니다. 모든 IP 주소를 쉽게 열거할 수는 없습니다 www.google.com
. 따라서 귀하의 요청은 www.google.com
무작위로 통과되거나 통과되지 않습니다. 대신, Google보다 작은 웹사이트가 다수 동일한 IP 주소에서 실행되므로 모두 차단하거나 전혀 차단할 수 없습니다.
네트워크 액세스를 필터링하려면 다음이 필요합니다.네트워크 프록시. itables 구성에서 포트 443을 제외한 모든 나가는 액세스를 차단하고(이 답변에서는 다루지 않을 침입적이고 안전하지 않은 방식을 제외하고는 HTTPS를 거의 필터링할 수 없음) 사용자 제외 프록시를 실행합니다.
iptables -P OUTPUT DROP
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp -m owner --uid-owner wwwproxy -j ACCEPT
wwwproxy
프록시 구성에 따라 HTTP 프록시가 실행되는 사용자 이름으로 바꿉니다 .
많은 HTTP 프록시가 있습니다. 오징어가 인기가 있지만 소규모 설치의 경우 더 작은 것을 선호할 수도 있습니다.