nat 网卡间数据包转发_nat端口转发示例

nat端口转发示例

环境:

A服务器: 网卡1:192.168.1.151 网卡2:10.10.69.10

B服务器: 网卡1:10.10.69.41

要求:

访问192.168.1.151:1521 即访问 10.10.69.41:1521

启用端口转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

清空nat表

iptables -t nat -F

端口转发配置详解:

1.模拟linux转发过程:

通过192.168.1.171访问192.168.1.151:1521 即访问 10.10.69.41:1521 转发过程:

A服务器接受到数据包时:

src 192.168.1.171 port 某个端口 dst 192.168.1.151 port 1521

先使用dnat转换目的端口 转换后的数据包如下:

src 192.168.1.171 port 某个端口 dst 10.10.69.41 port 1521

然后将转换后的数据包 进行snat 或者 MASQUERADE

src 10.10.69.10 port 某个端口 dst 10.10.69.41 port 1521

2.命令实现:

1.首先实现第一次dnat转换:

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.151 --dport 1521 -j DNAT --to-destination 10.10.69.41

(大意: 匹配dst 192.168.1.151 port 1521 的包将目的地址变为10.10.69.41)

2.装方式转换src 地址:

(1)然后进行MASQUERADE

iptables -t nat -A POSTROUTING -p tcp -d 10.10.69.41 --dport 1521 -j MASQUERADE

(大意:配置dst 10.10.69.41 port 1521 的数据包 将源地址改为访问dst 10.10.69.41 port 1521 的网卡地址)

(2)使用snat转换:

iptables -t nat -A POSTROUTING -p tcp -d 10.10.69.41 --dport 1521 -j SNAT --to-source 10.10.69.10

(大意: 匹配dst 10.10.69.41 port 1521 的包将源地址变为10.10.69.10)

其实这里虽然以前弄过 但是没有做笔记 现在重新做了一份

这一次卡在了 数据包 是先使用dnat 然后将修改后的数据包 在snat 所以之前我使用

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.151 --dport 1521 -j DNAT --to-destination 10.10.69.4

iptables -t nat -A POSTROUTING -p tcp -d 10.192.168.1.151 --dport 1521 -j SNAT --to-source 10.10.69.10

这样的语句老是不成功 主要还是原理没有弄清楚明白 现在原理清楚了 在怎么也不会弄错了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值