Debian 11 PVE7 配置网络 实现NAT IPV4+独立IPV6
搜了一大圈,发现大多是互相抄来抄去的,也写的小白表示难以理解。索性自己对着葫芦画瓢:一遍一遍调整喽。
当知道结果后,似乎好像都想的太复杂了。实际上应该还能再更简洁一些的,不过懒得折腾了,就这样吧~
简述
完整的内容
突然发现能水好多好多篇,那就分开水吧,完整的内容传送门:
相关说明
ens3
:宿主机网卡,空配置vmbr0
:宿主机ens3网卡上的内容,并桥接到ens3网卡上vmbr1
:仅提供IPV4内网nftables
:Debian11自带的防火墙,NAT IPV4
优缺点
不足:
由于ipv6是绑定到vmbr0网卡上,因此若孵出来的小鸡需要nat ipv4+独立ipv6,得将vmbr0、vmbr1两块网卡配置到对应的小鸡上,比较繁琐。
好处:
宿主机配置简单,很容易可以孵出ipv4 nat机器或者仅有独立ipv6的机器。
宿主机配置
nftables
“食用”方式:复制下面的规则内容,修改成自己的配置后,ssh连接宿主机找到 /etc目录下的nftables.conf文件,进行编辑,若是没有nat表,那么直接丢到最后面就行了。反之复制对应链里的规则,贴过去就ok。
生效方式:直接重启nftables防火墙即可 systemctl restart nftables
table ip nat {
chain prerouting {
type nat hook prerouting priority -100; policy accept;
tcp dport 2222 dnat to 192.168.1.100
tcp dport 3389 dnat to 192.168.1.101
#……
}
chain postrouting {
type nat hook postrouting priority 100; policy accept;
ip saddr 192.168.1.0/24 masquerade
}
}
CT/虚拟机
CT容器
一般来说,在添加网卡的过程中配置ipv4、ipv6信息后,ct容器就可以正常使用ipv4和ipv6网络了,不需要再做其它的配置。
linux虚拟机
选择对应的Linux虚拟机,切换到硬件选项里,简单看一下第一块网络设备对应绑定的网桥,然后点击控制台登录访问虚拟机,debian系统可以使用 ip addr
来查看网络配置信息,比如:
按照之前添加网卡的顺序,那么第一块网卡绑定的就是ipv4,也就是说第二块网卡需要配置的是ipv6,清楚了之后,就可以直接编辑网络配置文件了:
# 编辑网卡配置文件
nano /etc/network/interfaces
#source-directory /run/network/interfaces.d
接着在其下方添加网卡配置,使用 ctrl+x
输入y
然后 回车
保存。
参考配置如下,具体需要调整哪些部分请根据自己的信息来。完成配置后保存,并重启网络。
windows虚拟机
和linux虚拟机差不多,先切换硬件选项里,简单看一下第一块网络设备对应绑定的网桥,然后点击控制台登录访问虚拟机。打开网络适配器,一般第一块就是对应刚刚看到的网桥,然后根据自己的配置来填写网络信息。比如:
第一块对应的是桥接到vmbr1,那么只需要配置内网ipv4,那么第二块网络适配器就只需要配置公网ipv6。
碎碎念
nftables服务若是再network服务之前启动,会导致宿主机重启后nftables不能正常自启动,所以不要省心将规则中的iifname、oifname精简成iif、oif。