Proxmox配置母鸡网络主要俩个步骤/etc/network/interfaces和/etc/sysctl.conf文件同时如果你需要端口转发就安装iptables
配置网卡文件
/etc/network/interfaces
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto enp41s0
iface enp41s0 inet manual
# post-up /sbin/ethtool -K enp41s0 tx off rx off
iface enp41s0 inet6 manual
auto vmbr0
iface vmbr0 inet static
address 46.4.23.244 #母鸡IP
netmask 255.255.255.192 #母鸡子网掩码
gateway 46.4.23.193 #母鸡网关
pointopoint 46.4.23.193 #母鸡网关(点对点连接参数)
hwaddress ether d0:50:99:fd:d6:13 #MAC地址
bridge_ports enp41s0 #物理网卡名字
bridge_stp off
bridge_fd 0
bridge_maxwait 0
# post-up /sbin/ethtool -K vmbr0 tx off rx off
iface vmbr0 inet6 static
address 2a01:4f8:221:38d9::2 #IPv6
netmask 64
gateway fe80::1 #v6网关
bridge_ports enp41s0
bridge_stp off
bridge_fd 0
up ip -6 route del 2a01:4f8:221:38d9::/64 dev vmbr0
auto vmbr1
iface vmbr1 inet static
address 192.168.1.1 #内网网卡 v4
netmask 255.255.255.0 #子网掩码 /24
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward #启用 IPv4 转发功能
post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE
auto vmbr1
iface vmbr1 inet6 static
address 2a01:4f8:221:38d9::3/64
#gateway fe80::1
bridge_ports none
bridge_stp off
bridge_fd 0
up ip -6 route add 2a01:4f8:221:38d9::/64 dev vmbr1 #添加指定的 IPv6 路由到 <code>vmbr1</code> 接口
配置sysctl.conf
/etc/sysctl.conf
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.ip_forward=1
net.ipv6.conf.all.accept_dad = 1
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.forwarding=1
sysctl -p
net.core.default_qdisc=fq: 这个参数设置默认的队列调度算法为fq(Fair Queueing)。fq是一种公平的队列调度算法,用于网络流量管理。
net.ipv4.tcp_congestion_control=bbr: 开启bbr
net.ipv4.ip_forward=1: 这个参数启用IPv4数据包的转发。当这个值设置为1时,Linux系统将会转发接收到的IP数据包。
net.ipv6.conf.all.accept_dad = 1: 这个参数设置IPv6接口在启动时接受DAD(Duplicate Address Detection)。
net.ipv6.conf.all.accept_ra = 0: 这个参数设置IPv6接口不接受路由器通告(Router Advertisements)。
net.ipv6.conf.all.accept_redirects = 1: 这个参数设置IPv6接口接受重定向信息。
net.ipv6.conf.all.accept_source_route = 0: 这个参数设置IPv6接口不接受源路由选项。
net.ipv6.conf.all.autoconf = 0: 这个参数禁用IPv6自动配置。
net.ipv6.conf.all.disable_ipv6 = 0: 这个参数启用IPv6支持。
net.ipv6.conf.all.forwarding=1: 这个参数启用IPv6数据包的转发。
sysctl -p: 这个命令用于加载新的sysctl设置,使其生效。
我的环境是配的这些
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.ip_forward=1
net.ipv6.conf.all.accept_dad = 1
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.forwarding=1
net.ipv4.ip_forward=1
这个配置我们的小机器的网卡配置需要注意:
首先注意 :V6和V4 都是接vmbr1 ,不要直接接vmbr0