目录
分类
内核参数配置文件
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
网关服务器配置
[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命令检查是否地址已转化
-
网关服务器配置
-
配置内网主机
-
配置外网主机
-
配置SNAT
-
内网主机测试
DNAT
配置网关服务器
[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
-
配置网关服务器