Sudo apt-get install firefox
のように入力すると、質問されるまですべてが機能します。
After this operation, 77 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
次に、エラーメッセージが表示されます:Failed to fetch: <URL>
私のiptablesルールは次のとおりです。
-P INPUT DROP
-P OUTPUT DROP
-P FORWARD DROP
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
Apt-getが更新をダウンロードできるようにするには、何を追加すればよいですか?ありがとう
apt-getはほとんど常にHTTP経由でダウンロードしますが、FTPも使用する可能性があるため、簡単な答えはおそらく発信HTTP接続を許可することです...もちろんDNSも許可します。
現在の設定では、すべての発信ネットワークトラフィックが許可されていません(ESTABLISHED
チェーンにあるOUTPUT
ルールは、セッションが確立されないため、有効ではありません)。 [〜#〜] only [〜#〜] 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ソースが含まれている場合、それらのポートも追加する必要があります。
次に、戻りトラフィックを許可する必要があります。これは、確立された接続を許可する次の1つのルールで実行できます。
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
(接続追跡を使用している場合は、確立されたすべての受信接続を許可しても安全です。そうでない場合は許可した接続のみがESTABLISHED状態になるためです。)