Linuxでポート80を開くためにgufwを使用しようとしています。私のルールは次のとおりです。
-A ufw-user-output -d 192.168.0.100/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A ufw-user-output -d 192.168.0.100/32 -p udp -m udp --dport 80 -j ACCEPT
確認したときの出力です。ufw status
Status: active
To Action From
-- ------ ----
192.168.0.100 80 ALLOW Anywhere
192.168.0.100 80 ALLOW OUT Anywhere
次の設定を使用して、tp-linkルーターでポート転送を設定しました(項目2を確認)。
しかし、開いているポートを確認するとポート検査ツール、まだポート 80 が閉じていると表示されます。私の問題を解決するのに役立ちますか?ありがとうございます。
答え1
「シンプルファイアウォール」(gufw)は、iptablesを使用してIPフィルタを設定します。したがって、IPフィルタとその仕組みについて知っておく必要があります。 iptablesはIPフィルタリングのために次のテーブルを知っています。
フィルタ基本テーブル。純粋なろ過用に設計されています。 -t を使用しない場合はデフォルトで使用されます。 nat - このテーブルはネットワークアドレス変換に使用されます。 DSLまたはWLANルーターと同じです。また、192.168.xxなどのパブリックアドレスをプライベートネットワークと組み合わせるためにも使用されます。 mangle - このテーブルはパケット操作に使用されます。 raw - このテーブルは接続追跡例外に使用できます。
これらのテーブルはすべてチェーンを使用します。
INPUT -tables:filter、mangle:このチェーンのルールは、ローカルプロセス(IPアドレス/ポートなど)に移動するすべてのパケットに対して実行されます。 OUTPUT -tables:filter, nat, mangle, raw : このチェーンのルールは (ローカルプロセスで) 発信するすべてのパケットに対して実行されます。 FORWARD -tables:filter, mangle: このチェーンのルールは、ルーティングされたすべてのパケットに使用されます。 PREROUTING -tables:nat, mangle, raw : このチェーンのルールは、すべての古いパケットをルーティングするために使用されます。 POSTROUTING -tables:nat, mangle: このチェーンのルールは、ルーティング操作が発生した後に実行されます。
「悪い」点は、gufwがベーステーブルで使用するカスタムチェーンを使用していることです。これまでは素晴らしかったが、iptablesの仕組みを理解していない限り、gufwの基本原則を理解するのは難しいかもしれません。
次に、コマンドラインでデフォルトのiptablesを使用してこの単純なルールを実装する方法を紹介します(これはあなたが探しているものです)。
あなたに必要なもの:
sudo iptables -I 1 入力 -p tcp --dport 80 -j #1 承諾 sudo iptables -I 出力 1 -p tcp --sport 80 -j 受け入れ #2
#1これにより、テーブルチェーン「INPUT」の最初の場所にプライマリテーブル「filter」へのリンクが挿入され、ポート80に行くすべての場所でTCP IPトラフィックを許可(承認)します。 #2 これにより、基本テーブルへのリンクが挿入されます。テーブル「filter」はテーブルチェーン「OUTPUT」の最初の位置にあり、ポート80のローカルプロセスから宛先IPアドレスとポート番号に送信されるTCP IPトラフィックを許可(承認)します。
したがって、これが私たちのgufwにあなたの知識を伝えるのに役立つことを願っています。あるいは、gufwを捨ててデフォルトのiptablesを使用することもできます。なぜなら、すべてのユースケースの98%はそれほど複雑ではないからです。 :-) また、おそらくこのリンクはufsに役立ちます。 gufwの横にあるコマンドラインツール:https://help.ubuntu.com/lts/serverguide/firewall.html