GNU/Linux >> Linux の 問題 >  >> Linux

Linux OS サービス「iptables」

サービス名

iptables

説明

iptables ユーティリティは、Linux カーネルのネットワーク パケット フィルタリング コードを制御します。ファイアウォールや IP マスカレードを設定する必要がある場合は、このツールをインストールする必要があります。 /sbin/iptables application は、Linux IPv4 パケット フィルタリング ルールを構成するために使用されるユーザー空間コマンド ライン プログラムです。ネットワーク アドレス変換 (NAT) もパケット フィルター規則から構成されるため、これにも /sbin/iptables が使用されます。 iptables-ipv6 として知られる IPv6 ネットワーク用の同様のツールがあります。 .

iptables 機能は、Linux カーネルで IP パケット フィルター規則のテーブルを設定、維持、および検査するために使用されます。複数の異なるテーブルを定義できます。各テーブルには多数の組み込みチェーンが含まれており、ユーザー定義のチェーンも含まれる場合があります。

チェーン 一連のパケットに一致するルールのリストです。各ルールは、一致するパケットをどう処理するかを指定します。これはターゲットと呼ばれます 、同じテーブル内のユーザー定義チェーンへのジャンプである可能性があります。

RPM パッケージ名

iptables

サービス コントロール

開始と停止の例

# service iptables start
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]

使い方

# service iptables
Usage: /etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save}
# service iptables start
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
# service iptables restart
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables condrestart
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255 
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0           
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353 
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631 
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 
11   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
# service iptables panic
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy DROP: filter                      [  OK  ]
# service iptables save
Saving firewall rules to /etc/sysconfig/iptables:          [  OK  ]

デーモン

/sbin/iptables

モジュール

nfnetlink
ip_conntrack
ip_conntrack_netbios_ns

構成

構成ファイル

/etc/sysconfig/iptables          - iptables rules
/etc/sysconfig/iptables-config   - iptables configuration

構成ファイルの例

# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Feb  3 12:54:50 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [254737803:197953409382]
-A INPUT -p tcp -m tcp --dport 162 -j ACCEPT 
-A INPUT -p udp -m udp --dport 162 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 14545 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 14161 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 5634 -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Wed Feb  3 12:54:50 2016

iptables で NAT を設定する方法の例

1.すべての iptables テーブルから既存のルールを削除

# iptables -F
# iptables -t nat -F
# iptables -t mangle -F

2. NAT を有効にする

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -i eth1 -j ACCEPT

3. iptables ルールを保存

# service iptables save

注意 :NAT をセットアップする前に、IP 転送を有効にする必要があります。

# echo 1 > /proc/sys/net/ipv4/ip_forward

iptables で指定ポートを開く方法の例

1. デフォルトの SSH ポート (22) で受信トラフィックを許可するには、iptables に、そのポートでのすべての TCP トラフィックの受信を許可するように指示できます

# iptables -A INPUT -p tcp --dport ssh -j ACCEPT

2. すべての着信 Web トラフィックを許可するには、iptables に、そのポートのすべての TCP トラフィックが着信するのを許可するように指示できます

# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

3. iptables ルールを保存

# service iptables save


Linux
  1. Linux OS サービス「dhcpd」

  2. Linux OS サービス「anacron」

  3. Linux OS サービス「hplip」

  1. Linux OS サービス「irqbalance」

  2. Linux OS サービス「rpcgssd」

  3. Linux OS サービス「yum-updatesd」

  1. Linux OS サービス「ネットワーク」

  2. Linux OS サービス「ポートマップ」

  3. Linux OS サービス「acpid」