Netplan ipvsh w=10=sh

Netplan ipv6 "No route to host"

我显然错误地配置了我的 ipv6 侦听器地址。问题 1:我需要有人来发现错误。还有一个额外的问题 2:删除下面的“/sbin/ip 地址添加”命令是否有任何风险?

这是在 ubuntu 18.04 虚拟 machine 上。

这是一个 curl 命令,显示 ipv6 路由设置不正确:

curl -vvv -L "http://[2600:1303:d000:1::17c3:4571]"
*   Trying 2600:1303:d000:1::17c3:4571...
* TCP_NODELAY set
* Immediate connect fail for 2600:1303:d000:1::17c3:4571: No route to host
* Closing connection 0
curl: (7) Couldn't connect to server

以前,当程序启动时,它会发出本机“/sbin/ip地址添加”。结果证明这是有问题的,因为重置网络接口时,路由会丢失。

所以,我添加了 /etc/netplan,因为配置 ipv6 路由在网络重启后仍然有效。但是,我没有在启动时删除 "ip addr add" 。目前,有两个命令用于设置路由:netplan 和“/sbin/ip address add”。这是执行命令的顺序:

1.  Manual one-time command of "/etc/netplan apply" which didn't return any errors.  

2.  "ip addr add" every time the server starts.  So, at least once since the manual netplan command.

这是它正在侦听的 ipv6 地址:

netstat -anp | grep redir | grep LISTEN
tcp6       0      0 2600:1303:d000:1::17:80 :::*                    LISTEN      3187/my-service
tcp6       0      0 2600:1303:d000:1::17:80 :::*                    LISTEN      3187/my-service
tcp6       0      0 2600:1303:d000:1::17:80 :::*                    LISTEN      3187/my-service
tcp6       0      0 2600:1303:d000:1::17:80 :::*                    LISTEN      3187/my-service
tcp6       0      0 2600:1303:d000:1::17:80 :::*                    LISTEN      3187/my-service

以下是我希望它收听的内容: [2600:1303:c000:1::15d4:456f]:80" [2600:1303:d000:1::17c3:4570]:80" [2600:1303:d000:1::17c3:4571]:80" [2600:1303:d000:1::17c3:4572]:80"

这是 "ip address add" 命令。请注意,我正在使用“/24”,我想知道这是否是问题所在。或者可能同时使用 "ip addr add" 和 netplan 没有按预期工作。这是一个遗留应用程序,因为我在这方面的网络技能不强,所以我不确定删除 "ip addr add" 是否安全。我不认为保留 "ip addr add" 命令会有什么坏处,但也许我错了。

out, e = exec.Command("/sbin/ip", "-6", "addr", "add", ip + "/24", "dev", "eth0").CombinedOutput()

这是我的 netplan 配置文件。请注意,这只是文件的一部分;出于安全原因,我没有包括 mac 地址、名称服务器或网关。但是,它们是正确的,因为我的 ipv4 地址有效。另外,出于安全原因,我也没有发布真实的 ipv6 地址。

root@ubuntu:~# cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        eth0:
            addresses: [ '2600:1303:d000:1::17c3:456e/24', '2600:1303:d000:1::17c3:4570/24', '2600:1303:d000:1::17c3:4572/24', '2600:1303:d000:1::17c3:4571/24', '2600:1303:d000:1::17c3:456f/24' ]

提前致谢;)

有几个问题:

  1. 没有gateway6。
  2. 位掩码应该是“/64”而不是“/24”

Netplan 不会删除旧路由。我必须执行以下步骤:

1.  ip -6 addr del 2600:1303:d000:1::17c3:456f/24 dev eth0
2.  netplan apply