内外网转换NAT

目录

分类

内核参数配置文件

SNAT

网关服务器配置

配置内网主机

配置外网主机

配置SNAT

内网主机测试

DNAT

配置网关服务器


支持的规则链:INPUT、OUTPUT、PREROUTING、POSTROUTING

分类
  • SNAT(将外网设备共享给内网)

    • source NAT ,支持POSTROUTING, INPUT,让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装,请求报文:修改源IP

  • DNAT(将内网设备共享给外网)

    • destination NAT,支持PREROUTING , OUTPUT,把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP,请求报文:修改目标IP

  • PNAT

    • port nat,端口和IP都进行修改

内核参数配置文件
[root@localhost ~]# sysctl -a
#列出所有默认的内核参数
#参数过多,可以用grep过滤出自己所需要的信息

[root@localhost ~]# sysctl -a |grep forward
net.ipv4.ip_forward = 0
#使用命令过滤出路由配置信息
#此处数值默认为0,需要在配置文件中修改为1

[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#/etc/sysctl.conf是内核参数的配置文件
#需自行添加配置参数(文末)

[root@localhost ~]# sysctl -p
#修改完内核参数后重新生效

SNAT

内外网转换NAT_第1张图片

网关服务器配置
[root@localhost ~]# yum install httpd -y
在网关服务器中添加新的网卡
[root@localhost ~]# cd /etc/sysconfig/network-scripts
[root@localhost ~]# ls
[root@localhost ~]# cp ifcfg-ens33 ifcfg-ens36
[root@localhost ~]# vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=12.0.0.1
NETMASK=255.255.255.0
#将网卡ens33都改为ens36
#修改ip地址
#删除UUID、DNS及GATEWAY

[root@localhost ~]# vim ifcfg-ens33
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.190.130
NETMASK=255.255.255.0 
#删除UUID、DNS及GATEWAY

[root@localhost ~]# systemctl restart network
[root@localhost ~]# ip a
#查看ip信息
[root@localhost ~]# sysctl -a |grep "ip_forward"
net.ipv4.ip_forward = 0
[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#开启路由转发
#将此条配置添加在最后

[root@localhost ~]# sysctl -p
#刷新系统配置
[root@localhost ~]# systemctl start httpd

配置内网地址
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# route -n
#查看路由表信息
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.190.130
#将网关改为网关服务器内网
[root@localhost ~]# systemctl restart network
[root@localhost ~]# systemctl start httpd

配置外网地址
[root@localhost ~]# yum install httpd -y
[root@localhost ~]# vim /etc/sysconfig/network-
scripts/ifcfg-ens33
IPADDR=12.0.0.10
GATEWAY=12.0.0.1
#将地址改为外网ip
#将网关改为网关服务器外网地址
[root@localhost ~]# systemctl restart network
#此时网络连接会断开,属于是正常现象
[root@localhost ~]# 

网关服务器测试连通性
[root@localhost ~]# ping 192.168.190.129
[root@localhost ~]# ping 12.0.0.10
#可以ping同表示配置成功

此时可以使用另一台主机远程连接外网主机
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# tail -f /var/log/httpd/access_log

最后在网关服务器上配置SNAT
#注意所有主机的磁盘必须已连接
[root@localhost ~]# iptables -F -t nat
[root@localhost ~]# iptables -vnL --line-num	
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.190.0/24 -o ens36 -j SNAT --to 12.0.0.1
[root@localhost ~]# iptables -vnL --line-num

最后可以在其他主机上使用curl命令检查是否地址已转化
  • 网关服务器配置

内外网转换NAT_第2张图片

内外网转换NAT_第3张图片

内外网转换NAT_第4张图片

内外网转换NAT_第5张图片

内外网转换NAT_第6张图片

内外网转换NAT_第7张图片

内外网转换NAT_第8张图片

内外网转换NAT_第9张图片

  • 配置内网主机

内外网转换NAT_第10张图片内外网转换NAT_第11张图片

内外网转换NAT_第12张图片

  • 配置外网主机

内外网转换NAT_第13张图片内外网转换NAT_第14张图片

  • 配置SNAT

内外网转换NAT_第15张图片

内外网转换NAT_第16张图片

  • 内网主机测试

内外网转换NAT_第17张图片

DNAT

内外网转换NAT_第18张图片

配置网关服务器
[root@localhost ~]# iptables -F -t nat
#清除nat表中的所有规则
[root@localhost ~]# iptables -t nat -A PREROUTING -i ens36 -p tcp --dport 80 -d 12.0.0.1 -j DNAT --to 192.168.190.130
  • 配置网关服务器

内外网转换NAT_第19张图片

内外网转换NAT_第20张图片

你可能感兴趣的:(服务器,linux,运维)