apt-get은 거의 항상 HTTP를 통해 다운로드하지만 FTP를 사용할 수도 있으므로 짧은 대답은 아마도 아웃 바운드 HTTP 연결과 DNS를 허용하는 것입니다.
이제 구성에서 나가는 모든 네트워크 트래픽을 허용하지 않습니다 ( 체인 ESTABLISHED
에있는 규칙 OUTPUT
은 세션이 설정되지 않기 때문에 적용되지 않습니다). 여전히 다른 모든 것을 허용하지 않고 apt-get 업데이트 만 허용해야 합니까? iptables
실제로 URL을 해석하지 않고 선택적으로 HTTP 전송을 허용하지 않으므로 해당 작업에 대한 잘못된 도구 일 것입니다. 이 작업에 HTTP 프록시 서버를 사용하려고합니다.
apt-get 다운로드를 허용하는보다 간단한 설정을 사용할 수 있지만, 이로 인해 다른 모든 나가는 DNS 및 HTTP 연결도 허용되며, 이는 원하지 않는 것일 수 있습니다.
iptables -F OUTPUT # remove your existing OUTPUT rule which becomes redundant
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
APT 소스에 80이 아닌 포트의 HTTPS 또는 FTP 소스 또는 HTTP 소스가 포함 된 경우 해당 포트도 추가해야합니다.
다음으로 반품 트래픽을 허용해야합니다. 설정된 단일 연결을 허용하는이 단일 규칙으로이를 수행 할 수 있습니다.
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
(연결 추적을 사용할 때는 모든 허용 된 연결 만 허용하는 것이 안전합니다. 그렇지 않으면 허용 된 연결 만 ESTABLISHED 상태가되기 때문입니다.)