07 12 2021

配置比较高的VPS如果考虑相对独立多用途,可以有2种方案,一种是之前经常用到的docker,另外一种就是开NAT小鸡,相对于docker,NAT小鸡自由度更高。

这里以一台2H8G的VPS在proxmox系统下开nat小鸡作为试验。

配置独服虚拟网卡

使用命令vi /etc/network/interfaces修改文件 /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位开始,全部换成ff2001: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修改文件 /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。旧图我懒得更换了。

图片[2]-KIMSUFI使用proxmox开【IPv4nat+IPv6】小鸡-科技密码

图片[3]-KIMSUFI使用proxmox开【IPv4nat+IPv6】小鸡-科技密码

开CT小鸡

通过https://你的IP:8006进入proxmox【PVE】WEB管理界面。使用用户root和密码登录。
这里以开CT小鸡为例。

下载小鸡模板

依次点击菜单localCT模板模板,在打开的界面中选择想要用的系统模板下载。
图片[4]-KIMSUFI使用proxmox开【IPv4nat+IPv6】小鸡-科技密码

创建CT小鸡

点击网页右上角的创建CT
依次设置主机名密码模板;跟磁盘CPU内存网络;DNS信息。下面只贴出最关键的网络设置示例图,:
图片[5]-KIMSUFI使用proxmox开【IPv4nat+IPv6】小鸡-科技密码

  1. 桥接选择刚才新建的那个虚拟网口vmbr1

  2. IPV4/CIDR设置小鸡的内网IP,后面要加/24。IPV4网关设置为vmbr1的IPV4地址,后面不带/24

  3. IPV6/CIDR设置小鸡的IPV6地址,后面要加/64。IPV6网关设置为vmbr1的IPV6地址,后面不带/64

另外,DNS选项卡可以不设置,保持默认即可。

设置完毕后等待系统创建小鸡,创建完毕后点左侧菜单的小鸡ID,然后点网页右上角启动按钮,就可以启动小鸡了。

开KVM小鸡也一样,这里测试了下利用https://dd.nat.ee 里面提供的IOS镜像安装windows系统。


另外需要注意的2个问题,LXC构架,如果需要安装DOCKER,需要在选项中最后一项双击打开,勾选前两个选项。

KVM如果启动失败,把选项中的KVM硬件虚拟化关闭即可。

  1. 上一篇:天干合化条件
  2. 下一篇:利用docker部署nginx管理平台 nginx-proxy-manager
发表评论