RPM 包名

iptables

如何使用iptables打开指定端口的示例

  1. 要允许默认 SSH 端口 (22) 上的传入流量,我们可以告诉 iptables 允许该端口上的所有 TCP 流量进入
# iptables -A INPUT -p tcp --dport ssh -j ACCEPT
  1. 要允许所有传入的 Web 流量,我们可以告诉 iptables 允许该端口上的所有 TCP 流量进入
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  1. 保存iptables规则
# service iptables 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
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
Linux 操作系统“iptables”服务

iptables 服务描述

iptables 实用程序控制 Linux 内核中的网络包过滤代码。
如果我们需要设置防火墙和/或者 IP 伪装,我们应该安装此工具。
/sbin/iptables 应用程序是用于配置 Linux IPv4 包过滤规则的用户空间命令行程序。
由于网络地址转换 (NAT) 也是从包过滤规则中配置的,因此 /sbin/iptables 也用于此目的。
IPv6 网络也有一个类似的工具 iptables-ipv6 。

iptables 功能用于在 Linux 内核中设置、维护和检查 IP 包过滤规则表。
可以定义几个不同的表。
每个表都包含许多内置链,也可能包含用户定义的链。

每个链都是一个规则列表,可以匹配一组数据包。
每个规则指定如何处理匹配的数据包。
这称为目标,它可能是到同一个表中用户定义链的跳转。

on  It Road.com

配置

配置文件

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

示例配置文件

# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Nov  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 Nov  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
日期:2020-09-17 00:14:35 来源:oir作者:oir