编辑iptables配置文件,将文件内容更改为如下,则具备了ip地址白名单功能

[root@localhost ~]#vim /etc/sysconfig/iptables 
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-N whitelist
-A whitelist -s 1.2.3.0/24 -j ACCEPT
-A whitelist -s 4.5.6.7 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j whitelist
-A INPUT -p icmp -j ACCEPT

白名单列表whitelist,可以是ip段或者单个ip地址。

注意上面配置中是“-j whitelist”而不是“-j ACCEPT”,前者将该端口访问权限限制在白名单内,后者为不限制。

"-A INPUT -p icmp -j ACCEPT"表示任何ip地址都能ping通该主机,因为"-j ACCEPT"没有做相应限制

配置完毕后,重启防火墙使规则生效。

[root@localhost ~]# /etc/init.d/iptables restart