配置比较高的 VPS 如果考虑相对独立多用途,可以有 2 种方案,一种是之前经常用到的 Docker,另外一种就是开 NAT 小鸡。相对于 Docker,NAT 小鸡自由度更高。
这里以一台 2H8G 的 VPS 在 Proxmox 系统下开 NAT 小鸡作为试验。
配置独服虚拟网卡
使用命令 vi /etc/network/interfaces 修改文件,按 insert 键进入编辑模式,在末尾添加如下内容:
iface vmbr0 inet6 static
address 2001:41d0:2:cf5a::1
auto vmbr1
iface vmbr1 inet static
address 10.1.1.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up iptables -t nat -A POSTROUTING -s '10.1.1.1/24' -o vmbr0 -j MASQUERADE
pre-down iptables -t nat -D POSTROUTING -s '10.1.1.1/24' -o vmbr0 -j MASQUERADE
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 10.1.1.100:5001
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 10.1.1.100:5001
iface vmbr1 inet6 static
address 2001:41d0:2:cf5a::2/64
post-up /sbin/ip -f inet6 route add 2001:41d0:2:cfff:ff:ff:ff:ff dev vmbr0
pre-down /sbin/ip -f inet6 route del 2001:41d0:2:cfff:ff:ff:ff:ff dev vmbr0
post-up /sbin/ip -f inet6 route add default via 2001:41d0:2:cfff:ff:ff:ff:ff
pre-down /sbin/ip -f inet6 route del default via 2001:41d0:2:cfff:ff:ff:ff:ff
post-up /sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::2 dev vmbr1
pre-down /sbin/ip -f inet6 neigh del proxy 2001:41d0:2:cf5a::2 dev vmbr1
post-up /sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::100 dev vmbr0
pre-down /sbin/ip -f inet6 neigh del proxy 2001:41d0:2:cf5a::100 dev vmbr0
vmbr1 是负责小鸡网络的虚拟网卡。2001:41d0:2:cfff:ff:ff:ff:ff 是由分配给独服的 IPv6 地址转换而来,规则是第 3 个冒号后面的后 2 位开始全部换成 ff。
2001:41d0:2:cf5a::2 是给虚拟网卡 vmbr1 的地址,这个地址也将作为小鸡们的 IPv6 网关。2001:41d0:2:cf5a::100 是小鸡将要使用的地址。
如果要建立多个小鸡,就增加末尾 2 行对应的小鸡地址代码,增加后需要重启服务器。想立即生效可以手动在母机上运行一下(以小鸡 IP 尾号 101 为例):
/sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::101 dev vmbr0
添加后按 ESC 键退出编辑模式,然后输入 :wq,按 ENTER 键保存退出。
2021-12-06 更新:根据网友需求,增加了给 vmbr0 设置一个 IPv6 以使母机也可以通过 IPv6 访问(此时可以把 IPv4 分配给某个小鸡独用,母机只用 IPv6 管理)。注意 vmbr0 的 IPv6 地址后面不必带 /64,带了 /64 可能会使小鸡的 IPv6 失效。另外,母机的 DNS 设置保持默认就行,实测不手动增加 IPv6 的 DNS 服务器也不影响使用。如果你就是要设置上,则需要自行测试。
配置独服 sysctl.conf
使用命令 vi /etc/sysctl.conf 修改文件,按 insert 键进入编辑模式,在任意位置添加如下内容:
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.proxy_ndp = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.vmbr0.autoconf=0
net.ipv6.conf.vmbr0.accept_ra=2
某些教程还会有 net.ipv6.bindv6only = 1。实测会导致服务器重启后网络故障,千万不要写这行。
添加后按 ESC 键退出编辑模式,然后输入 :wq,按 ENTER 键保存退出。
执行命令 sysctl -p,使配置生效。
重启服务器使新建的虚拟网卡生效。
注意:截图中的 net.ipv6.bindv6only=1 是错的,要去掉,或者值设为 0。旧图我懒得更换了。
开 CT 小鸡
通过 https://你的IP:8006 进入 Proxmox(PVE)WEB 管理界面。使用用户 root 和密码登录。
这里以开 CT 小鸡为例。
下载小鸡模板
依次点击菜单 Local、CT 模板、模板,在打开的界面中选择想要用的系统模板下载。
创建 CT 小鸡
点击网页右上角的创建 CT。依次设置主机名、密码、模板、根磁盘、CPU、内存、网络、DNS 信息。下面只贴出最关键的网络设置示例图:
桥接选择刚才新建的那个虚拟网口 vmbr1。
IPv4/CIDR 设置小鸡的内网 IP,后面要加 /24。IPv4 网关设置为 vmbr1 的 IPv4 地址,后面不带 /24。
IPv6/CIDR 设置小鸡的 IPv6 地址,后面要加 /64。IPv6 网关设置为 vmbr1 的 IPv6 地址,后面不带 /64。
另外,DNS 选项卡可以不设置,保持默认即可。
设置完毕后等待系统创建小鸡。创建完毕后点左侧菜单的小鸡 ID,然后点网页右上角启动按钮,就可以启动小鸡了。
开 KVM 小鸡
开 KVM 小鸡也一样,这里测试了利用 https://dd.nat.ee 里面提供的 ISO 镜像安装 Windows 系统。
注意事项
- LXC 构架如果需要安装 Docker,需要在选项中最后一项双击打开,勾选前两个选项。
- KVM 如果启动失败,把选项中的 KVM 硬件虚拟化关闭即可。





暂无评论内容