Azure的公共IP只允许创建静态IP,静态IP又不在azure for student的额度上,然后扣你余额。
默认配置下来就是静态ip,两台机器一年下来 这100刀基本上就搭进去了 已经创建的虚拟机无法从静态改为动态,只能删机重建 创建时ip要选择基本层,然后才能选择动态ip,不重启应该不会变 [image]
我创建时SKU只有标准,也就改不了动态IP。
好在我之前建了一个有公共IP的虚拟机,又建了一个虚拟网络。我把新老虚拟机都搭载到了虚拟网络上,用老虚拟机访问新虚拟机,同区域间的流量传输不收费。
:新虚拟机如果选择密钥认证,密钥要放在老虚拟上。
只不过这样虚拟机似乎访问不了网络,所以我让老虚拟机做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 位参与者