iptables 生产环境下基础设置
生成环境需求:
防火墙需要让内网的Ip全部通过,外网IP添加到白名单,其他一切拒绝。
安装
在linux系统中安装yum install iptables-services
[root@h201 ~]# cat /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -s 192.168.5.0/24 -j ACCEPT
-A INPUT -s 192.168.6.0/24 -j ACCEPT
-A INPUT -s 192.168.10.0/24 -j ACCEPT
-N whitelist
-A whitelist -s x.x.x.x -j ACCEPT
#-A whitelist -s 192.168.6.0/24 -j ACCEPT
#-A whitelist -s 192.168.5.0/24 -j ACCEPT
#-A whitelist -s 192.168.10.0/24 -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 -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7180 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j whitelist
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
iptables从上往下匹配
所以
上边是白名单的IP列表
下边是针对白名单里的内容开启的一些端口
要把ACCEPT的写在上边。
把REJECT的内容写在下边。
这样白名单里的IP就可以访问我们限制的端口及服务了,而没有在白名单里的IP则会被拒绝。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist 这种是针对白名单里的端口开启,即只能白名单里
的IP能够通过这个端口访问。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT这种是全白的开启,即任何的机器都能通过这个端口访
问。