Linux学习-iptables之NAT

Linux学习-iptables之NAT,第1张

Linux学习-iptables之NAT 通过Vmware克隆创建三台虚拟机模拟NAT(CentOS6.10)
  1. 第一台主机网卡配置:IP:192.168.100.10,网关:192.168.100.20
  2. 第二台主机做为NAT主机,网卡1配置:IP:192.168.100.20,网卡2配置:192.168.200.10
  3. 第三台主机网卡配置:IP:192.168.200.20,网关:192.168.200.10
#第一台主机的网卡配置文件
[root@NAT1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.100.10
PREFIX=24
GATEWAY=192.168.100.20
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
#第二台主机的网卡配置文件
[root@NAT2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.100.20
PREFIX=24
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
[root@NAT2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.200.10
PREFIX=24
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth2"
#第三台主机的网卡配置文件
[root@NAT3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.200.20
PREFIX=24
GATEWAY=192.168.200.10
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"

三台主机配置完成后,NAT1和NAT2可以互相通信,NAT2和NAT3可以互相通信.

开启NAT2主机的路由转发功能
#CentOS6修改以下参数,如不存在则自行添加
[root@NAT2 ~]# vim /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
#查看参数修改情况
[root@NAT2 ~]# cat /proc/sys/net/ipv4/ip_forward
1
#CentOS7修改以下参数
[root@model ~]# vim /usr/lib/sysctl.d/50-default.conf
net.ipv4.ip_forward=1

修改完成后NAT3和NAT1就可以通信了。

将NAT3主机的默认网关给删除了,通过在NAT2主机上添加iptables规则来模拟内网主机(NAT1)能访问外网主机(NAT3)
#-----------内网至外网----------
#在NAT2主机上添加iptables规则--SNAT
[root@NAT2 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to-source 192.168.200.10
#在NAT2主机上添加iptables规则--MASQUERADE
[root@NAT2 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth2 -j MASQUERADE
#-----------内网至外网----------
如何发布公司内网服务器,DNAT转换目标地址
[root@NAT2 ~]# iptables -t nat -A PREROUTING -i eth2 -d 192.168.200.10 -p tcp --dport 22 -j DNAT --to-destination 192.168.100.10
#通过SSH访问正常
[root@NAT3 ~]# ssh 192.168.200.10
root@192.168.200.10's password: 
Last login: Fri Jul  9 17:40:47 2021
[root@NAT1 ~]# 
#-----------PNAT----
[root@NAT2 ~]# iptables -t nat -A PREROUTING -i eth2 -d 192.168.200.10 -p tcp --dport 2345 -j DNAT --to-destination 192.168.100.10:22
#通过2345端口访问SSH服务,输入密码后正常连接
[root@NAT3 ~]# ssh 192.168.200.10 -p 2345
root@192.168.200.10's password: 
Last login: Fri Jul  9 18:15:28 2021 from 192.168.200.20
[root@NAT1 ~]# 
#-----------PNAT----


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5503458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存