Iptables 防火墙规则常用设定
# 常用查看类参数
# iptables -nL 查看防火墙规则,默认filter表
# iptables -nL -v --line-number 查看明细规则匹配数据包,接口等信息
# iptables -P -INPUT DROP 设置默认filter表的INPUT链默认规则
# iptables -F 清空默认表Filter的所有规则
# iptables -I * 插入此规则,规则序号1
# iptables -A * 添加此规则,规则序号最大,在最后缺省规则之前
# iptables -D INPUT N 删除iptables 规则,N表示规则
# iptables 规则备份与恢复
# /etc/init.d/iptables save 保存iptables规则,保存至/etc/sysconfig/iptables
# service iptables save 同上
# iptables-save > iptables.conf 保存iptables规则至文件中
# iptables-restore iptables.conf 从配置文件中恢复iptables规则
# 添加过滤类规则例子
# iptables -t filter -A INPUT -s 113.102.163.247/32 -p tcp -m multiport --dports 3690,3306 -j ACCEPT
# 添加防火墙规则,允许113.102.163.247访问本机TCP3690(SVN),3306(MYSQL)端口
# iptables -t filter-A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT
# 添加防火墙规则,允许所有主机访问本机TCP22(SSH),80(HTTP),443(HTTPS)端口
# iptables -t filter -A INPUT -i lo -j ACCEPT
# 允许环回口的通信。
# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 5432 -j ACCEPT
# 允许从互联网新发起对5432(Postgresql)端口的访问,NEW新请求通过
# iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# 允许连接状态是RELATED,ESTABLISHED的连接通过
# iptables -t filter -P OUTPUT ACCEPT output链默认允许所有连接通过
# iptables -t filter -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# output链运行NEW,RE,ES等状态的连接通过
# iptables NAT类规则
# net.ipv4.ip_forward = 1 开启转发
# sysctl -p 是内核参数配置文件生效
# 源地址端口转换,只能在POSTROUTING链,(单独端口,连续端口,随机端口)
# iptables -t nat -A POSTROUTING -j SNAT --to-source 211.211.211.211 端口与私端一致,不进行转换
# iptables -t nat -A POSTROUTING -p tcp -j SNAT --to-source 1.1.1.1:2048 源地址转换,端口转换至2048
# iptables -t nat -A POSTROUTING -p tcp -j SNAT --to-source 1.1.1.1:2048-4096 源地址转换,端口转换范围固定
# iptables -t nat -A POSTROUTING -p tcp -j SNAT --to-source 1.1.1.1 --random 源地址转换,端口随机转换
# MASQUERADE 也是源地址转换,主要用在DHCP或者拨号方式获取IP地址的场景
# iptables -t nat -A POSTROUTING -j MASQUERADE
# DNAT 目标地址转换,只能在PREROUTING ,OUTPUT链上使用
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:80
# REDIRECT 目标地址转换,只是转换成了NAT设备端口地址,只能在PREROUTING OUTPUT链上使用
# iptables -t nat -A PREROUTING -j REDIRECT