【问题标题】:SNAT does not change source ipSNAT 不会更改源 ip
【发布时间】:2018-07-10 14:10:34
【问题描述】:

我正在尝试将一个内部虚拟网络(适配器 tun0 ip:10.8.0.x - 我的 vpn 网络)连接到外部世界(适配器 venet0:0 ip xxx.xxx.xxx.xxx)

我正在使用以下 iptables 规则:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0:0 -j SNAT --to xxx.xxx.xxx.xxx

由于某种原因 iptables 没有更改出站 IP 地址:

tcpdump
08:23:17.863971 IP 10.8.0.6 > 8.8.8.8: ICMP echo request, id 3887, seq 1264, length 64

netstat-nat
Proto NATed Address                  Destination Address            State
udp   10.8.0.6:61339                 google-public-dns-a.goo:domain UNREPLIED

有什么想法吗?我做错了什么?

(ip_forward 已激活!)

【问题讨论】:

  • 它现在正在工作,不知道为什么......

标签: linux routing iptables


【解决方案1】:

非常仔细地检查您的iptables -t nat -nvL。也许某处隐藏了MASQUERADE

【讨论】:

    【解决方案2】:

    仔细查看选择器,源(-s)和目标(-d)。在我的情况下,我的目标 IP 相差一个八位字节。我期待 0.5 并且流量注定要 0.6。就像规则是 SNAT ip xxx.xxx.5.xxx 并且数据包中的目标是 xxx.xxx.6.xxx

    【讨论】:

      猜你喜欢
      • 2013-10-15
      • 1970-01-01
      • 2011-02-19
      • 2012-06-22
      • 1970-01-01
      • 2023-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多