iptables nat表应用,保存和备份规则

一、iptables nat表应用
需求1:
两台机器,机器A可以访问内网和外网(两块网卡),机器B只能访问内网(一块网卡),让机器B通过机器A实现访问外网的功能

1. 先将两个虚拟机A和B各添加一个张网卡,
    A机器的一张网卡可以访问外网,第二张添加的网卡设置LAN区域,
    B机器添加网卡,第一张网卡禁掉,第二张添加网卡设置LAN区段和A的保持一致
2. 设置网卡完成后可以选择开机,
3. 设置A机器新添加网卡IP,新添加的网卡名字为ens37,
ifconfig ens37 192.168.150.1/24      #设置ens37网卡的IP地址
4.设置B机器的第1张网卡Down掉,第二张新网卡添加一个IP,执行如下的命令
ifdown ens33      #关闭ens33网卡
ifconfig ens37 192.168.150.2/24     #设置ens37网卡的IP地址
通过ifconfig命令设置的IP只在内存中生效,如果要永久保存的话需要写到网卡的配置文件里面去
5. 可以尝试A和B机器是否可以相互ping通

目前A机器有2块网卡分别为:ens33(192.168.177.130) 、ens37(192.168.150.1)。ens33可以与外网通信,ens37则是内部网络
      B机器有1块网卡ens37(192.168.150.2),不可以与外网通信,但是可以和A机器的ens37互联。
      需要让B机器能够访问外网。

1.在A机器上执行以下命令, 查看配置文件,是否开启端口转发功能,显示0表示没有开启端口转发
[root@lx003 ~]# cat /proc/sys/net/ipv4/ip_forward
0                                       
2.开启A机器的端口转发功能,执行以下命令开启
[root@lx003 ~]# echo "1">/proc/sys/net/ipv4/ip_forward        #将1重定向到文件中,开启内核转发
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward             #可以cat以下文件,查看是否开启
1
3.在A机器上添加规则,执行以下命令
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.150.0/24 -o ens33 -j MASQUERADE
4. 在B机器上设置网关,执行如下命令
route add default gw  192.168.150.1              #B机器上添加网关
5. 在B机器上添加网关,实现访问外网的功能
vi /etc/resolv.conf   #编辑配置文件

添加如下行:
nameserver 8.8.8.8


需求2:
C机器只能和A通信,让C机器可以 直接连通B机器的22端口
A机器:内网外网都可以访问
B机器:只有一个内网IP
C机器:我的主电脑

1. A机器上打开端口转发
echo "1">/proc/sys/net/ipv4/ip_forward  
2. 删除之前创建的规则
iptables -t nat -D POSTROUTING -s 192.168.150.0/24 -o ens33 -j MASQUERADE
3.添加以下规则
iptables -t nat -A PREROUTING -d 192.168.177.130 -p tcp --dport 1122 -j DNAT --to 192.168.150.2:22
iptables -t nat -A POSTROUTING -s 192.168.150.2 -j SNAT --to 192.168.177.130
4.在B机器上添加网关
route add default gw  192.168.150.1    

二、  iptables规则备份和恢复
使用如下命令:
service iptables save
上面这个命令会把规则保存到:
/etc/sysconfig/iptables

把iptables规则备份到 文件中:
iptables-save > my.ipt   #iptables规则保存到了my.ipt这个文件里

恢复备份的iptables规则
iptables-restore < my.ipt   #将 my.ipt这个文件里 iptables规则恢复

三、一些扩展
1. iptables 针对一个网段
iptables -I INPUT -m iprange --src-range 61.4.176.0-61.4.191.255 -j DROP



2. iptables限制syn速度
原理,每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攻击,也可以有效防止机器人发垃圾帖。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值