kimsufi:使用proxmox开IPv4nat+IPv6小鸡,ks

kimsufi家今年黑五出的特价机性价比是非常不错的,不过缺点就是只有一个IPv4,好在商家送了好多IPv6,法国的具说送了128个,加拿大数据中心也有64个,这样我们就可以使用IPv6来开小鸡了,如果你正好有客户,可以卖给客户,没有的话也可以分享给朋友,毕竟目前IPv6基本已经普及了,三网都可以使用了,下面分享一下foboy大佬出的保姆级教程。

安装proxmox【PVE】系统

KIMSUFI后台装系统可以直接选择安装proxmox【PVE】系统,这里略过。

系统安装完毕后,会收到通知邮件。邮件内有个链接,打开该链接会看到主机root密码。

等待安装系统时,您先在kimsufi控制台点IP按钮,查看分配给您的IPV6地址,并记录下来,一会要用。

母鸡配置

SSH连接独服。

配置独服虚拟网卡

使用命令vi /etc/network/interfaces修改文件 /etc/network/interfaces,按insert键进入编辑模式,在末尾添加如下内容(其中涉及到的IPV6地址要换成你自己的):

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 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
12345678910111213141516171819202122 iface vmbr0 inet6 static        address 2001:41d0:2:cf5a::1 auto vmbr1iface 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 MASQUERADEiface 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 另外还有个一劳永逸的方法,可以免去最后两行,以后再开多个小鸡也不再需要其他设置

把下面代码中的IPV6地址前缀换成你自己的,注意不要丢掉末尾的冒号,然后在独服上执行:

apt install -y git g aptitude install -y make git clone https://github.com/npd6/npd6.git cd npd6 make && make install echo "prefix = 2607:xxxx:120:d9a:" >> /etc/npd6.conf echo "interface = vmbr0" >> /etc/npd6.conf /etc/init.d/npd6 start
12345678 apt install -y git g  aptitude install -y makegit clone https://github.com/npd6/npd6.gitcd npd6make && make installecho "prefix = 2607:xxxx:120:d9a:" >> /etc/npd6.confecho "interface = vmbr0" >> /etc/npd6.conf/etc/init.d/npd6 start

执行完这些代码,如果没有遇到什么错误提示,IPV6子网就已经设置好了,后面再开这个IPV6前缀的虚拟机就不再需要任何配置了。

添加后按ESC键退出编辑模式,然后输入:wq,按ENTER键保存退出。然后运行下面命令使网卡配置生效:

/etc/init.d/networking restart
1 /etc/init.d/networking restart

更新:如果您重启网络遇到错误,再运行systemctl status networking.service查看详情,如果错误信息里含有RTNETLINK answers: File exists和ifup: failed to bring up vmbr1,可能是你之前执行过错误的配置,导致错误的vmbr1残留在系统内,可运行下面的命令尝试解决:

ip addr flush dev vmbr1 /etc/init.d/networking restart
12 ip addr flush dev vmbr1/etc/init.d/networking restart

如果还有错误,就从文件/etc/network/interfaces中去掉下面两行,再执行上个步骤重启网络:

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
12 post-up /sbin/ip -f inet6 route add default via 2001:41d0:2:cfff:ff:ff:ff:ffpre-down /sbin/ip -f inet6 route del default via 2001:41d0:2:cfff:ff:ff:ff:ff

配置独服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
123456 net.ipv4.ip_forward=1net.ipv6.conf.all.forwarding=1net.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,然后点网页右上角启动按钮,就可以启动小鸡了。 点控制台可进入小鸡界面,ping6一下试试。

     

    KVM小鸡IPV4 IPV6设置

    KVM小鸡在创建时选择网络桥接到vmbr1,其他的要在小鸡内部设置。 这个步骤较简单,直接上图。

    PVE创建KVM小鸡时网络设置

     

    KVM小鸡设置IPV4

     

    KVM小鸡设置IPV6

     

    IPV6连接小鸡远程桌面

     


    后面如果再开小鸡,比方说使用IP2001:41d0:2:cf5a::101,开完小鸡后在母机里面执行一下下面代码,可以免重启使网络生效:

    /sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::101 dev vmbr0
    1 /sbin/ip -f inet6 neigh add proxy 2001:41d0:2:cf5a::101 dev vmbr0

    KIMSUFI家的机器只要严格按照本文设置,基本可以确保小鸡内IPV4和IPV6都可以连接外网。小鸡也可以通过IPV6被外网访问。如要通过IPV4访问小鸡,需要在母机设置NAT端口转发,网上端口转发教程比较多,这里暂不讨论,只提供一个例子。若要通过IPV4的10080端口访问100号小鸡的80端口,在/etc/network/interfaces文件的vmbr1下增加:

    post-up iptables -t nat -A PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80 pre-down iptables -t nat -D PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80
    12         post-up iptables -t nat -A PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80        pre-down iptables -t nat -D PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80

    保存后重启网络服务生效:/etc/init.d/networking restart。如果不想重启网络,可以手动在母机执行一下这个命令:

    iptables -t nat -A PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80
    1 iptables -t nat -A PREROUTING -p tcp --dport 10080 -j DNAT --to-destination 10.1.1.100:80

    这样会立即生效。

    补几个图

    母机网络设置

     

    母机DNS默认设置

     

    如果要开纯IPV6虚拟机,需要设置一下独服的DNS

     

    外网访问虚拟机

     

    虚拟机访问外网

     

    备忘:有的教程修改/etc/network/interfaces时还有下面两行,我实测不写也可以。

    post-up /sbin/ip -f inet6 route add 2001:41d0:2:cf5a::100 dev vmbr1 pre-down /sbin/ip -f inet6 route del 2001:41d0:2:cf5a::100 dev vmbr1
    12 post-up /sbin/ip -f inet6 route add 2001:41d0:2:cf5a::100 dev vmbr1pre-down /sbin/ip -f inet6 route del 2001:41d0:2:cf5a::100 dev vmbr1

    原文:https://kejimm.com/87.html

    推荐站内搜索:同ip网站查询100m免费空间国外免费云服务器、vps国外服务器、域名代理、免费虚拟主机、海外虚拟主机空间、asp免费空间申请、美国免费空间、免费虚拟主机、