アップデート:ソリューションが機能しません

アップデート:ソリューションが機能しません

デフォルトでは、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を理解するためのコースを受講したいと思います。

関連情報