Iptables
Iptables命令管理
iptables -nL ##默认为filter表
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
iptables -nL -t nat ##显示nat表
Chain INPUT (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
Chain POSTROUTING (policy ACCEPT)
iptables -nL -t mangle ##显示mangle表,备用
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
Chain POSTROUTING (policy ACCEPT)
2.表格命令编辑 ##默认filter表
iptables -D INPUT 1 ##删除INPUT链的第1条
iptables -I INPUT -s 172.25.254.100 -j REJECT ##插入至第1条
iptables -R INPUT 1 -j ACCEPT ##将INPUT第1条规则改为ACCEPT
【iptables -F ##刷新(类似删除)配置,但是重启后配置依然存在
【iptables -F ##刷新后保存,重启后配置为空
systemctl restart iptables.service】
iptables -P FORWARD DROP ##将FORWARD链规则改为DROP
iptables -N redhat ##新建redhat自定义链
iptables -E redhat REDHAt ##修改自定义链的名称
iptables -X REDHAt ##删除自定义链
3.服务管理
[[email protected] ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[[email protected] ~]# iptables -A INPUT -s 172.25.254.8 -p tcp --dport 80 -j ACCEPT
###只允许主机8链接http(80)
[[email protected] ~]# iptables -A INPUT ! -s 172.25.254.8 -p tcp --dport 53 -j REJECT
###除了主机8都拒链接DNS(53)
[[email protected] ~]# iptables -A INPUT -j REJECT
###读取以上规则后,其他所有访问拒绝 (从前到后,逐条读取)
[[email protected] ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- 172.25.254.8 0.0.0.0/0 tcp dpt:80
REJECT tcp -- !172.25.254.8 0.0.0.0/0 tcp dpt:53 reject-with icmp-port-unreachable
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[[email protected] ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
六.Iptables地址转换
注意:
1.一定要刷新filter表
[[email protected] ~]# iptables -F
2.打开内核路由
[[email protected] ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
[[email protected] ~]# sysctl -p ##和重启服务效果一样
net.ipv4.ip_forward = 1
【[[email protected] ~]# systemctl restart systemd-sysctl.service】
3.0.208主机配置网络
IPADDR = 172.25.0.208
GATEWAY = 172.25.0.108 (两块网卡主机)
4.设定策略
[[email protected] ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.208
[[email protected] ~]# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 172.25.0.208
[[email protected] ~]# iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT all -- 0.0.0.0/0 0.0.0.0/0 to:172.25.0.208
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 0.0.0.0/0 0.0.0.0/0 to:172.25.254.208
5.当主机8访问链接208主机时,转换到0.208主机上
[[email protected] Desktop]$ ssh [email protected]
[email protected]'s password:
Last login: Tue May 8 20:36:21 2018
[[email protected] ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.25.0.208 netmask 255.255.255.0 broadcast 172.25.0.255