1.关闭firewalld火墙,开启iptable
systemctl stop firewalld
systemctl disable firewald
systemctl start iptables
systemc enable iptables
2.iptable
-t ##指定表名称
-n ##不作解析
-L ##列出指定表中的策略
-A ##增加策略
-p ##网络协议
--dport ##端口
-s ##数据来源
-j ##动作
ACCEPT ##允许
REJECT ##拒绝
DROP ##丢弃
-N ##增加链
-E ##修改链名称
-X ##删除链
-D ##删除指定策略
-I ##插入
-R ##修改策略
-P ##修改默认策略
iptables -t filter -nL #查看filter表中的策略
iptables -F #刷掉filter表中的所有策略,当没有用-t指定表名称时默认是filter
iptables -A INPUT -i lo -j ACCEPT #允许lo
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ##允许访问22端口
iptables -A INPUT -s 172.25.254.124 -j ACCEPT ##允许124主机访问本机所有端口
iptables -A INPUT -j ACCEPT ##拒绝所有主机的数据来源
iptables -N redhat #增加链redhat
iptables -E redhat westos #修改链名称
iptables -X westos #删除westos
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 #把INPUT表中的默认策略修改为drop
3.提高访问速度,缓解访问压力
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ##允许RELATED,ESTABLISHED状态通过防火墙
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT ##允许回环接口访问
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT ##允许状态是NEW的访问22端口
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -j REJECT ##拒绝所有主机数据来源
sysctl -a | grep forward ##查看forward状态
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf ##打开net.ipv4.ip_forward
sysctl -p ##设置立即生效
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.124 ##出路由设置
测试: