iptables是一个工作于用户空间的防火墙应用软件
三表五链:filter表 mangle表 nat表
INPUT链 OUTPUT链 FORWARD链 PREROUTING链 POSTROUTING链
1.关闭火墙,开启iptables服务 systemctl stop firewalld
systemctl disable firewalld
systemctl start iptables
systemctl enable iptables
2.iptables -t 指定表名称
-n 不作解析
-L 指定表中的策略
-A 增加策略
-i 向规则链中增加条目
-p 网络协议
--dport 端口
-s 数据来源
-j 动作
ACCEPT 允许
REJECT 拒绝
DROP 丢弃
3.允许回环接口通过 iptables -A INPUT -i lo -j ACCEPT
允许访问22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允许243 主机访问本机所有端口 iptables -A INPUT -s 172.25.254.243 -j ACCEPT
4.增加redhat链 iptables -N redhat
修改redhat链为westos链 iptables -E redhat westos
删除westos链 iptables -X westos
删除INPUT链中的第二条策略 iptables -D INPUT 2
INPUT链第一条插入策略 iptables -I INPUT -p tcp --dport 80 -j REJECT
修改INPUT链中第一条策略 iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT
修改默认策略 iptables -P INPUT DROP
刷掉所有策略,临时生效 iptables -F
保存到配置文件,重启后也生效 service iptables save
4.路由
查看forward状态 sysctl -a | grep forward
打开net.ipv4.ip_forward echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf
设置生效 sysctl -p
进入路由 iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 172.25.0.10
主机连接虚拟机 ssh root@172.25.254.143
出路由设置 iptables -t nat -A POSTOUTING -o eth1 -j SNAT --to-source 172.25.254.143
测试结果:连上143主机,显示的IP是172.25.254.7