由于某些令人遗憾的原因,我需要一个 NAT 服务器将一个私有 IP 转换为具有 ExpressRoute 访问权限的另一个私有 IP。我目前正在努力创建一个具有用于 MASQUERADING 的 IP 表的 VM。我想知道是否有人在 Azure 上实现了这一点?
答案1
以下代码将转换SourceIP
为TargetIP
。 ExpressRoute 将使用TargetIP
作为发送方地址发送流量。 此外,请确保在 VM NIC 上启用了 IP 转发。 您可以在门户中切换此功能。
echo 1 > /proc/sys/net/ipv4/ip_forward
SourceIP=<???>
SourcePort=<???>
TargetIP=<???>
TargetPort=<???>
iptables -t nat -A PREROUTING --dst $SourceIP -p tcp --dport $SourcePort -j DNAT --to-destination $TargetIP:$TargetPort
iptables -t nat -A POSTROUTING -p tcp --dst $TargetIP --dport $TargetPort -j SNAT --to-source $SourceIP
iptables -t nat -A OUTPUT --dst $SourceIP -p tcp --dport $SourcePort -j DNAT --to-destination $TargetIP:$TargetPort
iptables-save