snat和dnat策略

snat 源地址转换

源地址转换是内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址(可指定具体的服务以及相应的端口或端口范围),这可以使内网中使用保留ip地址的主机访问外部网络,即内网的多部主机可以通过一个有效的公网ip地址访问外部网络。

步骤如下

  1. 图解
    在这里插入图片描述

  2. 准备A、B两台liunx机器并配置好网卡

  3. A机器做路由器配置源地址转换,设置两张网卡ens33,ip 192.168.225.111,用户上网,ens37,ip192.168.90.1作为lan口连接内网机器,图中均为桥接模式 B机器为内网虚拟机,ip 192.168.90.10,网关为A机器ens37的ip,DNS为114.114.114.114。

  4. 开启A机器路由功能

echo  1 >/proc/sys/net/ipv4/ip_forward
  1. 使用iptables添加snat策略
iptables -t nat -A POSTROUTING  -s 192.168.90.0/24 -o ens33 -j MASQUERADE
  1. 测试B机器是否能上网
[root@kafka01 shell-script]# ping www.baidu.com
PING www.a.shifen.com (183.232.231.174) 56(84) bytes of data.
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=1 ttl=128 time=23.1 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=2 ttl=128 time=36.7 ms
64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=3 ttl=128 time=28.5 ms
^C

dnat 目的地址转换的

互联网主机C想访问企业内部的web服务器A,但A的地址是私有地址,无法直接访问。此时,C可以访问防火墙的公网地址,C的请求数据包(源:ipC,目标:ipB)到达防火墙B后,在B的prerouting上将请求数据包的目标地址进行修改,并将数据包(源:ipC,目标:ipA)发送给A。

步骤如下

  1. 大致图解比snat多加了个客户机,用来访问私网B机器在这里插入图片描述
  2. 还是用snat的两台配置好了的Linux虚拟机器,外加一台Windows,C机器
  3. 为B机器安装好nginx,web服务
  4. 使用iptables 添加一条访问内部B机器的web服务的dnat策略
iptables -t nat -A PREROUTING -i ens33 -d 192.168.225.111 -p tcp --dport 80 -j DNAT --to-destination 192.168.90.10
  1. 在Windows机器上用浏览器访问192.168.225.111,就可以映射到B机器的web服务在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值