前言

在我们上网的过程中,不可能只用同一个ip地址来访问,在公网和内网之间,需要一些地址转换来实现公网和内网ip的变化。通常,我们可以使用NAT来做;在公网ip不固定的时候,也需要使用MASQUERADE来做地址转换。

 

NAT(Network Address Translation)

我们都知道,在ip数据包中,有两个参数可以定位包的源地址和目的地址,一个是源地址ip,一个是目标地址ip。我们常用的NAT有两种,一种是SNAT,修改源地址;一种是DNAT,修改目标地址。

SNAT(Source NAT)

此协议转换包的源地址,通常用于内网ip转公网ip,也就是正向代理会对发出的ip包做SNAT,使其可以传到公网环境中进行下一跳路由动作。

此修改作用于iptables的POSTROUTING阶段,具体命令如下:

iptables -t nat -A POSTROUTING -s <修改之前的ip段> -o <出口网卡> -j SNAT --to-source <修改之后的ip> 

 

DNAT(Destination NAT)

此协议转换包的目的地址,通常用于公网ip转内网ip,也就是反向代理会对收到的ip包做DNAT,使其可以传到内网环境中进行下一跳路由动作。

此修改作用于iptables的PREROUTING阶段,具体命令如下:

iptables -t nat -A PREROUTING -d <需要使用的ip地址> -i <入口网卡> -j DNAT --to-destination <修改之前的ip段>

 

MASQUERADE(伪装)

当我们的网卡绑定的公网ip是动态的,我们就需要动态读取网卡上的ip信息,这时我们使用MASQUERADE协议可以实现。

当然,MASQUERADE是一种特殊的SNAT,通常用于动态网络环境中,也作用于POSTROUTING阶段。

具体的命令如下:

iptables -t nat -A POSTROUTING -s <修改之前的ip段> -o <出口网卡> MASQUERADE
posted on   eryoung2  阅读(232)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示