一、简介
二、教程
1)基础教程
三、常用操作
1)查看规则
iptables -t filter -L -n
iptables -t nat -L -n
iptables -t mangle -L -n
iptables -t raw -L -n
2)添加规则
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
3)删除规则
iptables -D INPUT 3 //删除input的第3条规则
iptables -t nat -D POSTROUTING 1 //删除nat表中postrouting的第一条规则
iptables -F INPUT //清空 filter表INPUT所有规则
iptables -F //清空所有规则
iptables -t nat -F POSTROUTING //清空nat表POSTROUTING所有规则
4)修改规则
iptables -R INPUT 3 -j DROP //将规则3改成DROP
5)保存规则
iptables-save > /root/iptables.save
6)恢复规则
iptables-restore -n < /root/iptabls.save
四、实例
1) NAT地址转换--实现外网转发内网
1)开启Linux网卡的转发功能
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p 2)nat配置,模板如下
iptables -t nat -I PREROUTING -d 公网IP -p tcp --dport 公网PORT -j DNAT --to 内网IP:PORT
iptables -t nat -I POSTROUTING -d 内网IP -p tcp --dport 内网PORT -j SNAT --to 公网IP
iptables -I FORWARD -p tcp -d 内网IP --dport 内网PORT -j ACCEPT
1)HTTP转发: 实现效果http://4.4.4.6 的访问转发到4.4.4.25:8080
iptables -t nat -I PREROUTING -d 4.4.4.6 -p tcp --dport 80 -j DNAT --to 4.4.4.25:8080
iptables -t nat -I POSTROUTING -d 4.4.4.25 -p tcp --dport 8080 -j SNAT --to 4.4.4.6
iptables -I FORWARD -p tcp -d 4.4.4.25 --dport 8080 -j ACCEPT 2)HTTPS转发:实现效果https://4.4.4.6 的访问转发到4.4.4.25:443
iptables -t nat -I PREROUTING -d 4.4.4.6 -p tcp --dport 443 -j DNAT --to 4.4.4.25:443
iptables -t nat -I POSTROUTING -d 4.4.4.25 -p tcp --dport 443 -j SNAT --to 4.4.4.6
iptables -I FORWARD -p tcp -d 4.4.4.25 --dport 443 -j ACCEPT 3)TCP转发:实现效果ssh 4.4.4.6 登陆的是主机 4.4.4.25
iptables -t nat -I PREROUTING -d 4.4.4.6 -p tcp --dport 22 -j DNAT --to 4.4.4.25:22
iptables -t nat -I POSTROUTING -d 4.4.4.25 -p tcp --dport 22 -j SNAT --to 4.4.4.6
iptables -I FORWARD -p tcp -d 4.4.4.25 --dport 22 -j ACCEPT
3)linux防火墙iptables常用规则
4)25 Most Frequently Used Linux IPTables Rules Examples
四、其他
1)MASQUERADE与SNAT
2)流量控制