azure for student 的公共IP太坑了,我的多机器网络方案

Azure的公共IP只允许创建静态IP,静态IP又不在azure for student的额度上,然后扣你余额。 Azure学生包 创建机器默认静态IP 改为动态IP可避免扣费 开发调优 默认配置下来就是静态ip,两台机器一年下来 这100刀基本上就搭进去了 已经创建的虚拟机无法从静态改为动态,只能...
azure for student 的公共IP太坑了,我的多机器网络方案
azure for student 的公共IP太坑了,我的多机器网络方案

Azure的公共IP只允许创建静态IP,静态IP又不在azure for student的额度上,然后扣你余额。

Azure学生包 创建机器默认静态IP 改为动态IP可避免扣费 开发调优
默认配置下来就是静态ip,两台机器一年下来 这100刀基本上就搭进去了 已经创建的虚拟机无法从静态改为动态,只能删机重建 创建时ip要选择基本层,然后才能选择动态ip,不重启应该不会变 [image]

我创建时SKU只有标准,也就改不了动态IP。

好在我之前建了一个有公共IP的虚拟机,又建了一个虚拟网络。我把新老虚拟机都搭载到了虚拟网络上,用老虚拟机访问新虚拟机,同区域间的流量传输不收费。 :warning::新虚拟机如果选择密钥认证,密钥要放在老虚拟上。

只不过这样虚拟机似乎访问不了网络,所以我让老虚拟机做NAT,转发新虚拟机的流量。

首先把老虚拟机的入站端口打开,让新虚拟机的流量能进入老虚拟机。

两台机器都要搭载到一个虚拟网络,但子网不能相同。设定两台机器在子网的静态IP,假设老机器是10.0.0.5,新机器是10.0.1.7。

老虚拟机的网络接口打开“启用 IP 转发”。为新虚拟机建立资源“路由表”,绑定新机器的子网,下一个跃点类型设为VirtualAppliance,下一个IP跃点设为老机器子网IP,即10.0.0.5。

老机器确认出口网卡

ip -br addr

一般是eth0。

老机器启用内核转发

echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-azure-nat.conf

sudo sysctl --system

配置NAT规则

sudo iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -s 10.0.1.0/24 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -d 10.0.1.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -i eth0 -j ACCEPT

持久化规则

sudo apt update
sudo apt install -y iptables-persistent
sudo netfilter-persistent save

然后新机器就可以正常上网了。最后在老机器配置反向代理,就可以通过老机器访问新机器的服务了。

这套方案要确保老机器正常运行,否则两个机器一起down,特别是内存,azure for student免费的机器只有1G内存,最好提前添加交换区。

1 个帖子 - 1 位参与者

阅读完整话题

来源: linux.do查看原文