我正在尝试在 Azure 上设置一个 nat 实例以用于测试目的,但它根本不起作用。
我能够使用以下步骤在 AWS 上创建 nat 实例。但我无法在 Azure 中执行相同的操作。
我在 Azure 公共子网实例虚拟机(10.0.0.6)上尝试了以下设置
vi /etc/sysctl.conf
add "net.ipv4.ip_forward=1" to sysctl.conf
sysctl -p
sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo /sbin/iptables -F FORWARD
sudo service iptables save
在私有子网 Azure VM 中,我尝试添加指向 10.0.0.6 IP 的默认路由0.0.0.0/0
。我应该改用route table
吗?
但这不起作用。私有子网 VM 无法 ping google。我也允许 NSG 中的所有 IP。
知道为什么这不起作用吗?另外,我在 Google 上找不到任何有关 Azure Nat 实例的文章,好像没人尝试过。
当您想在 Azure 中使用自己的路由器(和/或防火墙)时,您还需要告诉 Azure 通过您的 VM 路由流量。
为此,您需要在 VM NIC 上启用 IP 转发并创建并关联到子网的用户定义路由。
本教程可以提供帮助(尽管比您的场景稍微复杂一些,但它涵盖了所有基础知识)。