ubuntuiptablesファイアウォールガイド
この記事は、元のアドレス[https://stackoverflow.club/article/iptables_in_ubuntu/](https://stackoverflow.club/article/iptables_in_ubuntu/)であるTencent Cloud + Communityによって自動的に同期されます。
iptablesの紹介#
Netfilter / iptablesはカーネルと統合されており、開始/停止や無効化などはありません。 iptablesコマンドを使用して、フィルタールールを作成できます。 (現在、新しいカーネルはデフォルトで統合されており、個別にインストールする必要はありません)
また、ufwは、ubuntuでのiptables構成を簡素化するためのツールであり、一連のルールを定義し、それらをiptablesに追加します。したがって、ufwを有効にすると、iptablesルールに一連の ufw
タイプの単語が表示されます。 ufwによって定義されたこれらの特定のルールは、 / etc / ufw / *。rules
の下にあります。
以下は Ubuntu 16.04.5LTS
に適しています
基本コマンド#
ヘルプを見る:##
iptables -h
フィルタルールを表示する##
sudo iptables -vnL --line-numbers
-
- n:ipを数値として表示します。ipを直接表示します。-nを追加しない場合、ipは逆にホスト名に解決されます。
-
- --Line-numbers:ルールに番号のラベルを付けます。これはルールを削除するときに役立ちます
同じチェーンが上から下に一致するため、numは非常に重要です。
既存の接続に影響を与えることなく、新しいiptablesルールを作成します。
作成したルールをファイルに保存します##
iptables-save >/etc/iptables.up.rules
ファイルからのルールの回復##
/sbin/iptables-restore </etc/iptables.up.rules
最後のコマンドを/etc/rc.localに追加して、システムの再起動時にルールを復元することもできます。
完全なコマンドルール#
iptables [-t table] command chain [match][-j target]
以下は、各コマンドの主なパラメータの説明です。
- t table、tableには4つのオプションがあり、デフォルトはfilterです:##
- filter:一般的なフィルタリング機能、デフォルトのテーブル
- nat:NAT機能(ポートマッピング、アドレスマッピングなど)に使用されます
- マングル:特定のデータパケットを変更するために使用されます
- raw:主にNOTRACK応答と連携するために使用されます
- セキュリティ:ユーザー必須アクセス制御(MAC)ネットワークルール
コマンド、ルールの書き方を定義します:##
-
- P:チェーンのデフォルトルールを定義します(他のすべてのルールと一致しないデータパケットは、デフォルトルールに従って実行されます)
-
- A:追加し、現在のチェーンの最後にルールを追加します
-
- I num:挿入、最初のいくつかとして現在のルールを挿入
-
- R num:リプレイは最初のいくつかのルールを置き換え/変更します
-
- D num:削除し、チェーンの後にnumを削除するルールを明確に指定します。次のアプリケーション例を参照してください。
チェーン、netfilterは5つの位置でフィルタリングできます:##
- 事前ルーティング(事前ルーティング)
- INPUT(パケットフローエントリ)
- FORWARD(ポート転送)
- OUTPUT(データパケットエクスポート)
- ポストルーティング(ポストルーティング)
match:マッチングルール。一般的に使用されるルールは次のとおりです。複数のマッチングルールを並行して使用できます。##
-
- p:プロトコルの照合に使用されます(ここには通常3つのプロトコル、TCP / UDP / ICMP、コンマで区切られた複数のプロトコルがあり、ALLが実際に設定されています!は逆照合を意味します)
-
- s:送信元アドレスipまたはipセグメントを一致させます(IPまたはIP / MASK、!は逆一致を意味します)
-
- d:一致したパケットの宛先IPアドレス(!は逆一致を意味します)
-
-
- -Dport:宛先ポート(2本の短い線)
- -スポーツ:送信元ポート
- -状態:接続状態
-
- m:上記のルールを明示的に拡張します(つまり、複数の状態、ポートなどに一致させることができます)
ターゲット:実行された操作/応答、以下は一般的です:##
- ドロップ(静かにドロップ)
- REJECT(エクスプレス拒否)
- ACCEPT(承認済み)
- MASQUERADE(ソースアドレスマスカレード)
- REDIRECT(リダイレクト)
- マーク(ファイアウォールでマーク)
- RETURN(リターン)
実例#
tcpポートを開きます##
sudo iptables -A INPUT -p tcp --dport 22-j ACCEPT
ルールを削除する##
ルール1はここで削除されます
sudo iptables -t filter -D FORWARD 1
natレコードを追加します##
sudo iptables -t nat -A POSTROUTING -s 192.168.255.0/24-j MASQUERADE
iptablesを保存および復元します##
sudo iptables-save >./iptables.bak
sudo iptables-restore <./iptables.bak
参考文献#
[ よく書かれたブログ、始めるのに適しています](https://0x1.im/blog/server/use-linux-ubuntu-iptables.html)
[ 開始後の詳細に適しています](http://blog.51yip.com/linux/1404.html)