概述
NAT 简介
NAT:Network Address Translation,网络地址转换。
解决的问题:ipv4地址不足,不能给每个人或者每个设备都分配足额的ip地址
Linux网关服务器:理解为就是一台路由器
NAT功能的实现是通过netfilter模块来实现的,iptables给netfilter传递参数
iptables是一个Linux里的防火墙工具
Linux系统内部有一个内核(kernel)--》对tcp/ip协议族--》netfilter 模块--》专门对进出系统的数据进行过滤
iptables 是给netfilter模块传递参数的一个工具
NAT 转换表(映射表)--》Linux的内核里netfilter模块里
DNAT策略的典型应用环境
在Internet中发布位于企业局域网内的服务器
在Internet中发布内网的服务器
发布:公开出去
将一个网络里的服务器发布出去让另外的网络能够访问
发布:背后是对内部资源的管控
DNAT策略的原理
目标地址转换,Destination Network Address Translation
修改数据包的目标IP地址
站在企业的角度,将服务器发布出去
步骤:
1.内网的服务器配置好ip和网关,dns,关闭防火墙
2.内网的服务器搭建好web服务,启动nginx
3.网关服务器开启路由功能配置好 dnat 策略
在iptables里添加一条snat的转发策略,让内网192.168.100.0的网络从ens33接口出去,出去的时候将源ip地址转换为192.168.0.165
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to-source 192.168.0.165
dnat策略-web
iptables -t nat -A PREROUTING -i ens33 -d 192.168.0.165 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.200
dnat策略-mysql
iptables -t nat -A PREROUTING -i ens33 -d 192.168.0.165 -p tcp --dport 3306 -j DNAT --to-destination 192.168.100.200
DNAT如何发布内网不同的服务器呢?
使用不同的端口号来对应内网不同的ip地址服务器
iptables -t nat -A PREROUTING -d 192.168.0.133 -p tcp --dport 80 -i ens33 -j DNAT --to-destination 192.168.66.128
iptables -t nat -A PREROUTING -d 192.168.0.133 -p tcp --dport 8080 -i ens33 -j DNAT --to-destination 192.168.66.129:8080
iptables -t nat -A PREROUTING -d 192.168.0.133 -p tcp --dport 3306 -i ens33 -j DNAT --to-destination 192.168.66.130:3306
dnat修改ip包的目的ip地址i,还可以修改tcp或者udp里的目的端口号
SNAT策略的原理
源地址转换,Source Network Address Translation
修改数据包的源IP地址
SNAT策略的典型应用环境
局域网主机共享单个公网IP地址接入Internet
站在用户的角度,帮助用户上网的
开启snat功能
iptables -t nat -A PSOTROUTING -s 192.168.66.0/24 -o ens33 -j SNAT --to-source 192.168.0.133
-t nat 指定在nat表里操作
-A POSTROUTING 在POSTROUTING位置追加一条规则 append
-s 192.168.66.0/24 指定从防火墙过的数据包里的源ip地址来自192.168.66.0/24网段
-o ens33 从ens33接口出去 out-interface
-j SNAT 采取SNAT策略,进行源ip地址的转换
--to-source 192.168.0.133 将ip包里的源ip地址修改为192.168.0.133
开启路由功能
1.临时开启
echo 1 >/proc/sys/net/ipv4/ip_forward
[root@sc nginx]# cat /proc/sys/net/ipv4/ip_forward
1
0 表示内核里的路由转发功能是关闭的
1 表示内核里的路由转发功能是开启的
2.永久开启
[root@sc nginx]# vim /etc/sysctl.conf
net.ipvr.ip_forward=1 # 添加配置,开启路由转发功能
让内核重新加载新的配置,开启路由转发功能
sysctl -p
net.ipvr.ip_forward=1
最后
以上就是靓丽自行车为你收集整理的网络 || NAT策略的全部内容,希望文章能够帮你解决网络 || NAT策略所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复