我正在使用 VPS 并获得了额外的 IP 地址。我正在尝试将第二个 IP 地址分配给单独的网络命名空间,但失败了。
假设我的主 IP 和网络掩码是x.x.133.39/23
,分配的辅助 IP 是x.x.137.159
,默认网关是x.x.132.1
我通常可以使用 : 将辅助 IP 地址分配给默认命名空间,ip addr add x.x.137.145/32 dev enp1s0 label enp1s0:1
并使用新 IP ssh 进入我的服务器以确认其正常工作。
现在,为了将 IP 移动到网络命名空间,我运行以下命令。 (无需将辅助IP分配给默认命名空间)
ip netns add ns0
ip netns exec ns0 ip link set lo up
ip link add macvlan0 link enp1s0 type macvlan mode bridge
ip link set macvlan0 netns ns0
ip netns exec ns0 ip link set macvlan0 up
ip netns exec ns0 ip addr add x.x.137.159/32 dev macvlan0
执行此操作后,我无法从命名空间内 ping 到我的主 IP 或默认网关或互联网上的任何位置。我究竟做错了什么?
而且我主要只需要访问互联网。
主机配置:
❯ ip -br link
lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
enp1s0 UP 56:00:xx:xx:xx:xx <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP>
❯ ip -4 -br address
lo UNKNOWN 127.0.0.1/8
enp1s0 UP xx.xx.133.39/23
❯ ip -4 route
default via xx.xx.132.1 dev enp1s0 proto dhcp src xx.xx.133.39 metric 102
xx.xx.132.0/23 dev enp1s0 proto kernel scope link src xx.xx.133.39 metric 102
169.254.169.254 via xx.xx.132.1 dev enp1s0 proto dhcp src xx.xx.133.39 metric 102
❯ ip -4 neigh
xx.xx.132.1 dev enp1s0 lladdr 2a:e3:xx:xx:xx:xx REACHABLE
10.101.100.31 dev enp1s0 lladdr 2a:e3:xx:xx:xx:xx STALE
/etc/network/interfaces
Vultr 给出的用于配置两个 IP 的
auto lo
iface lo inet loopback
auto enp1s0
iface enp1s0 inet static
address xx.xx.133.39
netmask 255.255.254.0
gateway xx.xx.132.1
dns-nameservers 108.61.10.10
post-up ip route add 169.254.0.0/16 dev enp1s0
auto enp1s0:1
iface enp1s0:1 inet static
address xx.xx.137.159
netmask 255.255.255.255