NAT
1.SNAT:让内网可以访问外网
2.DNAT:让外网可以访问到内网的机器
网关服务器,要开启路由功能
内核功能:
sysctl -a 列出所有参数 内核参数,然后grep可以查看到默认的内核参数
内核参数配置文件
/etc/sysctl.conf
sysctl -p #改完文件后重新生效
私网地址:
1.10.0.0.0 ~ 10.255.255.255
2.172.16.0.0 ~ 172.31.255.255
3.192.168.0.0 ~ 192.168.255.255
SNAT
SNAT策略概述 SNAT 应用环境
局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由
SNAT原理:
源地址转换
修改数据包的源地址
SNAT转换前提条件:
局域网各主机已正确设置IP地址、子网掩码、默认网关地址
Linux网关开启IP路由转发
DNAT
DNAT原理与应用: DNAT应用环境:
在Internet中发布位于局域网内的服务器
DNAT原理:
目的地址转换,根据指定条件修改数据包的目的IP地址,保证了内网服务器的安全,通常被叫做目的映谢。
DNAT转换前提条件: 1.局域网的服务器能够访问Internet 2.网关的外网地址有正确的DNS解析记录 3. Linux网关开启IP路由转发
实现SNAT和DNAT
准备环境
首先准备三台虚拟机:网关服务器,内网,外网
先下载httpd服务,全部开启并关掉防火墙。
在网关服务器里增加一块网卡
ens36,删除UID,ip配置成12.0.0.1(外网地址)网关删掉。
ens33,删除DNS和网关,留ip和掩码。(做完并重启网卡)
内网,将网卡网关改成网关服务器里的ip地址(重启网卡)
外网,将ip地址改成外网地址12.0.0.11,网关指向网关服务器里的第二张网卡ip(重启网卡)
SNAT
#先进入服务器开启路由转发
sysctl -a |grep "ip_forward" 复制net.ipv4.ip_forward = 0
vim /etc/sysctl.conf,复制后将0改为1
sysctl -p
#先清空规则,并加入规则
iptabless -t nat -A POSTROUTING -s 192.168.116.0/24 -o ens36 -j SNAT --to 12.0.0.1
#从内网出去用postrouting
#-s 源地址段 从192.168.116.0/24这个地址段起始
#-o ens36 从ens36这个网卡出去
#-j SNAT 跳转到SNAT
#--to 12.0.0.1 最终目的到达12.0.0.1外网网关
#可以用iptables -vnL进行查看规则是否生效
#到内网上crul 12.0.0.11(外网的ip地址)
#到外网查看实时日志 tail -f /var/log/httpd/access_log
DNET
#进入服务器网关,配置规则:
iptebles -t nat -A PREROUTING -i ens36 -p tcp --dort 80 -d 12.0.0.1 -j DNAT --to 192.168.116.20
#prerouitng 外网进入内网的在路由选择前
#-p tcp 指定协议为tcp
#--dort 80 指定tcp协议的80端口
#-d 12.0.0.1 外网的网关为12.0.0.1
#--to 192.168.116.20 要到内网机器ip为192.168.116.20上
#可以用iptables -vnL进行查看规则是否生效
#到外网上crul 12.0.0.1
#到内网查看实时日志 tail -f /var/log/httpd/access_log