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状態になるからです。)