最近买了台OVH的机器但是只有1个IPV4和IPV6,搜了很多教程也看了官方文档才写出了总结,以备后用。
创建网桥
一般情况下Proxmox安装后会自动创建一个桥接网卡的网桥vmbr0,我们需要再新建一个虚拟网桥当作虚拟机内部网络
本地演示选为10.10.0.1/24,注意名称选择需未占用,IPv4/CIDR 需要填写正确,其它选项不用填可跳过
网桥新建完成后记得要应用配置,不然下一步无法操作,下一步需要进入Proxmoox主系统的SSH进一步设置
编辑 /etc/network/interfaces
打开文件后拉到底部加入下面代码,注意将下面代码中的 10.10.0.0/24 替换成前面设置的内网IP起始位
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.10.0.0/24' -o wlp1s0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.0.0/24' -o wlp1s0 -j MASQUERADE
注意:部分主机需要手动修改 /etc/sysctl.conf 文件,IPV6转发需要将下方 enp3s0 修改成主机网卡的名称
#IPV4转发
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
#IPV6转发
net.ipv6.conf.enp3s0.autoconf=0
net.ipv6.conf.enp3s0.accept_ra=2
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.default.proxy_ndp=1
net.ipv6.conf.all.proxy_ndp=1
最后重启主机
如果你想外部访问虚拟机内部,需配置外网端口转发,在母鸡中执行,代码如下:
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 2222 -j DNAT --to-destination 10.10.0.100:22
iptables -t nat -A PREROUTING -i vmbr0 -p udp --dport 2222 -j DNAT --to-destination 10.10.10.100:22
外网端口2222就是对应的内网虚拟机22端口,配置完成后可以通过ip:2222来访问虚拟机
创建虚拟机
创建虚拟机需要在网络下桥接里选择上面创建的网桥
最后需要自行手动在系统里根据创建的网桥配置IP网关掩码,例如上面设置的配置
可用ip地址:10.10.0.2 - 10.10.0.254
网关:10.10.0.1
子网掩码:255.255.255.0