A机器两块网卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。
# systemctl disable firewalld :先停掉firewalld
# systemctl stop firewalld :关闭服务
# yum install -y iptables-services:安装服务
# systemctl enable iptables :先启用iptables
# systemctl start iptables :启动服务
[[email protected]01 ~]# ifcfg ens37 192.168.100.1/24
//快速给ens37配置IP地址
A机器上打开路由转发: echo "1">/proc/sys/net/ipv4/ip_forward
A上执行: iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
# route -n //查看网关(默认没有任何网关)
# route add default gw 192.168.100.1 //设置默认网关
# vim /etc/resolv.conf //增加 ”nameserver 119.29.29.29“
注意:我在测试B机器ping 119.29.29.29的时候显示不可以ping通,最终查找问题发现是A机器之前设置的iptables 策略阻挡了。
使用 #iptables -F 清除A机器的策略即可!
A上打开路由转发:echo "1">/ proc/sys/net/ipv4/ip_forward
在执行下一步之前,我们一定要先清除之前设定的规则,以免影响。
A上执行:iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
//192.168.133.130是A机器的IP地址;PREROUTING把进来的包转发到192.168.100.100:22
A上执行:iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
//从192.168.100.100回来的包转发到指定的机器
B上设置网关为:192.168.100.1
原理,每5s内tcp三次握手大于20次的属于不正常访问。
iptables -A INPUT -s ! 192.168.0.0/255.255.255.0 -d 192.168.0.101 -p tcp -m tcp --dport 80 -m state --state NEW -m recent --set --name httpuser --rsource
iptables -A INPUT -m recent --update --seconds 5 --hitcount 20 --name httpuser --rsource -j DROP
其中192.168.0.0/255.255.255.0 为不受限制的网段, 192.168.0.101 为本机IP。 该iptables策略,可有效预防syn攻击,也可以有效防止机器人发垃圾帖。
iptables -I INPUT -m iprange --src-range 61.4.176.0-61.4.191.255 -j DROP
# service iptables save //会把规则保存到/etc/sysconfig/iptables
把iptables规则备份到/tmp/my.ipt文件中
# iptables-save > /tmp/my.ipt
恢复刚才备份的规则
# iptables-restore < /tmp/my.ipt