デフォルトでは、INPUT、OUTPUT、およびFORWARDルールのすべての内容を削除するようにiptablesを設定しました。しかし、私は必要です。ポート80を介した接続の許可(HTTP)とポート53からのすべての着信TCP / UDP要求(DNS).私は次の設定を持っています:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT udp -- anywhere anywhere udp dpt:http
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
ただし、実行しようとするとsudo apt-get install apache2
パッケージが見つかりましたが、実際にパッケージのダウンロード中に停止します。私の研究では、apt-getはほとんどの場合動作するためにHTTPポートとDNSポートのみを必要とします。私は何を逃したことがありませんか?注意しようとしていますこの投稿しかし、役に立たない。
Err:1 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libapr1 amd64 1.5.2-3
Temporary failure resolving ‘us.archive.ubuntu.com’
Err:2 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libaprutil1 amd64 1.5.4-1build1
Temporary failure resolving ‘us.archive.ubuntu.com’
0% [Connecting to us.archive.ubuntu.com]
システムメッセージ:
販売店番号: Ubuntu
説明する: Ubuntu 16.04.3 LTS
解放する: 16.04
コードネーム: シェニエ
アップデート:ソリューションが機能しません
フォローするまな成功しなかったので、以下に返信しました。apt-get
上記の例のように、まだダウンロード(例:apache2)が中断されました(つまり、変更はありません)。私が使用したい新しいiptablesは次のとおりです。
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW,RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:domain state NEW,RELATED,ESTABLISHED
ACCEPT udp -- anywhere anywhere udp dpt:domain state NEW,RELATED,ESTABLISHED
ルールブックでバージョンを出力してみましたはい、いいえステータスメッセージが失敗しました。
答え1
なぜ53と80でINPUTをオンにするのかはわかりませんが、これがDNSとHTTPから応答を受け取るためのものであれば、それは間違っています。これは次の行を使用して行われます。
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
(と同様にこの回答あなたが言及した投稿です。 )
答え2
テストシステムを通じてこれに関する詳細を掘り下げました。
iptables
次のルールセットを正しく設定してapt-get
正しく送信できます。
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW,RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 state NEW,RELATED,ESTABLISHED
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 state NEW,RELATED,ESTABLISHED
これは上記の最新の設定を反映しています。問題がうまく機能しapt-get
、DNSクエリも問題なく実行できます。
ただし、システムがホスト名をIPアドレスに解決するのに問題がある可能性があり、検証エラーが発生する可能性があることに注意することが重要です。
/etc/resolv.conf
設定が正しく、少なくとも次のものが含まれていることを確認してください。
nameserver 8.8.8.8
nameserver 8.8.4.4
/etc/resolv.conf
このように設定し、あなたと同じルールセットを使用すると、インターネット接続システムはiptables
もちろん、内部ネットワークからインターネットに接続できる独自のLANサブネットにアクセスし、正しいDNS解決を得ることに問題はありません。
/etc/resolv.conf
私にとっては、設定が正しくなく、設定が正しくないため、システムがDNSを正しく設定できないのと似ています。
答え3
こんにちは、この問題について心が痛く、user147505の回答を100回検索した後、ついにこれがうまくいかない理由を見つけました。前の設定は次のとおりです。 -
root@myserver:~# iptables -L --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- anywhere anywhere tcp dpt:3652
2 ACCEPT udp -- anywhere anywhere udp dpt:51234
3 DROP icmp -- anywhere anywhere
4 DROP all -- anywhere anywhere
5 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere
2 ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
ご覧のとおり、上記のルールはiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
すべてのトラフィックルール「iptables -A INPUT -j DROP」を削除した後に追加されました。これがapt update
うまくいかなかったからです。
だから結局私がしたことはそれらを以下のように変えるだけで、すべてが驚くほどうまくいきました。
num target prot opt source destination
1 ACCEPT tcp -- anywhere anywhere tcp dpt:3652
2 ACCEPT udp -- anywhere anywhere udp dpt:51234
3 DROP icmp -- anywhere anywhere
4 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
5 DROP all -- anywhere anywhere
私はiptablesについて何かを学び、今後このjaba Hubaを理解するためのコースを受講したいと思います。