最近向 MC 要了两个 IPv6 地址,然后 VPS 就断了。向客服反应后,粗暴地给俺换了 IP,换了系统,搞得这博客差点倒闭。其实,问题很简单,也就是网卡配置问题。于是,今天就讲讲 Debian 或者 Ubuntu 怎么配置网卡和 IPv6 地址。
首先安装网络工具:
apt install net-tools
查看网卡信息 ifconfig
找到网卡,掩码,网关等信息,会输出类似下面内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ens3 : flags=4163 <UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 132.98.174.248 netmask 255.255.255.192 broadcast 132.98.174.255 inet6 80 e3 ::216 :3 cff:fead:5 b52 prefixlen 64 scopeid 0 x20 <link> inet6 1200 :7 e45 :0 :f6 ::1 e4 a:3705 prefixlen 48 scopeid 0 x0 <global> inet6 1200 :7 e45 :0 :f6 ::235 e:3 b7 e prefixlen 48 scopeid 0 x0 <global> ether 00 :16 :3 c:ad:5 b:52 txqueuelen 1000 (Ethernet) RX packets 304618 bytes 323216951 (308 .2 MiB) RX errors 0 dropped 3108 overruns 0 frame 0 TX packets 156356 bytes 322032853 (307 .1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo : flags=73 <UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0 x10 <host> loop txqueuelen 1000 (Local Loopback) RX packets 168017 bytes 311385231 (296 .9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 168017 bytes 311385231 (296 .9 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
上面,网卡名:ens3;natmask 后面是掩码;inet 后面是 IPv4 IP;inet6 后面是 IPv6 IP
查看网关 查看 IPv4 网关,命令:
ip route show dev ens3
1 2 default via 132.98.174.193 onlink132 .98 .174 .192 /26 proto kernel scope link src 132.98.174.248
查看 IPv6 网关,命令:
ip -6 route show dev ens3
1 2 3 1200 :7 e45 ::/48 proto kernel metric 256 pref medium80e3 ::/64 proto kernel metric 256 pref mediumdefault via 1200 :7 e45 :0 :f6 ::1 metric 1024 onlink pref medium
default via
后面即是网关地址。
Debian配置文件 找到这些 IP 信息后就可以编写网卡配置了,下面是 Debian 网卡配置:
vi /etc/network/interfaces
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 auto lo iface lo inet loopback auto ens3 iface ens3 inet static #IPv4 配置 address 132.98.174.248 #IPv4 gateway 132.98.174.193 #IPv4 网关 netmask 255.255.255.192 #子网掩码 iface ens3 inet6 static #IPv6 配置 address 1200 :7 e45 :0 :f6 ::1 e4 a:3705 #IPv6 地址 netmask 48 #掩码 gateway 1200 :7 e45 :0 :f6 ::1 #IPv6 网关 iface ens3 inet6 static address 1200 :7 e45 :0 :f6 ::235 e:3 b7 e #添加额外IPv6 地址 netmask 48 #掩码
当然,掩码和添加额外 IPv6 地址,还有另外一种写法,如下:
1 2 3 4 5 6 7 8 9 10 11 12 auto lo iface lo inet loopback auto ens3 iface ens3 inet static address 132.98.174.248 /26 #IPv4 和掩码 gateway 132.98.174.193 iface ens3 inet6 static address 1200 :7 e45 :0 :f6 ::1 e4 a:3705 /48 #IPv6 地址和掩码 gateway 1200 :7 e45 :0 :f6 ::1 up ip addr add 1200 :7 e45 :0 :f6 ::235 e:3 b7 e/48 dev ens3 #添加额外IPv6 地址
配置服务器 DNS 服务:
echo -e "nameserver 8.8.8.8 \nnameserver 8.8.4.4" >> /etc/resolv.conf
上面配置好后重启一下 network 服务,或者 reboot
重启一下服务器就好了。
systemctl restart networking.service
Ubuntu配置文件 上面是 Debian 系统的网卡配置,下面是 Ubuntu 系统配置文件。
Ubuntu 配置文件在 netplan 文件夹,类似 10-ens3.yaml 这样命名,配置如下:
vi /etc/netplan/10-ens3.yaml
1 2 3 4 5 6 7 8 9 10 network: version: 2 renderer: networkd ethernets: ens3: addresses: [132.98 .174 .248 /26 ,'1200:7e45:0:f6::1e4a:3705/48' ] gateway4: 132.98 .174 .193 gateway6: 1200 :7e45:0:f6::1 nameservers: addresses: [8.8 .8 .8 ]
保存重启就好了。最后测试一下 IPv6 有没有添加成功,服务器上 ping 一下 Google 就好了,或者客户端 ping 一下 IPv6 地址也行。
ping6 google.com
配置多IPv4 下面是 Debian 单网卡多 IP 的配置文件,供大家参考。这个是盲写的,没测试哦!
vi /etc/network/interfaces
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 auto lo iface lo inet loopback auto ens3 iface ens3 inet static address 132.98.174.248 /26 gateway 132.98.174.193 dns -nameservers 8.8.8.8 8.8.4.4 iface ens3 inet6 static address 1200 :7 e45 :0 :f6 ::1 e4 a:3705 /48 gateway 1200 :7 e45 :0 :f6 ::1 up ip addr add 1200 :7 e45 :0 :f6 ::235 e:3 b7 e/48 dev ens3 auto ens3 :0 iface ens3 :0 inet static address 132.98.174.249 /26
保存后,重启一下网络或服务器就好了。最后,MC 什么时候请俺去当客服呀!嘻嘻