手动配置电脑网络参数

手动配置电脑网络参数

为了学习目的,我使用ipPC 网络参数配置路由器,而不是通过 DHCP 接收参数。

根据 DHCP(路由器),这是当前的网络参数:

wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.33  netmask 255.255.255.0  broadcast 192.168.1.255

路线如下:

ip route
default via 192.168.1.1 dev wlp1s0 proto dhcp metric 600
169.254.0.0/16 dev wlp1s0 scope link metric 1000
192.168.1.0/24 dev wlp1s0 proto kernel scope link src 192.168.1.33 metric 600

所以我想使用命令重现类似的配置。这是我遵循的程序:

  1. 关闭无线网卡通讯:ip link set wlp1s0 down
  2. 我的 W. 卡的新 IP 地址:sudo ip addr add 192.168.1.42/24 dev wlp1s0
  3. 添加默认网关:sudo ip route add default via 192.168.1.1

但是我收到此错误:Error: Nexthop has invalid gateway.

我还不确定 netplan 是否应该将 dhcp4 设置为 false。但无论如何,得到的错误对我来说是意料之外的。有什么帮助吗?

有什么帮助吗?

编辑:我正在跟进这个 Ubuntu 教程

答案1

您正在通过已关闭的 NIC 添加路由(您在第一个命令中将其关闭)。这不起作用;要添加默认路由,通过它的接口应该处于打开状态。

我不明白你为什么要拒wlp1s0​​绝。你应该在 NIC 正常运行时操作网络地址。

答案2

路由需要指定传出接口。虽然在添加路由时,您可以在指令中省略该接口间接路线,前提条件是直接的网关的路由已经添加,因此ip route(或者可能是内核;我真的不知道它是像静态还是动态的“链接”)可以从前者中获取接口。

因为你关闭了界面,前缀路由(例如192.168.1.0/24 dev wlp1s0),这是一条覆盖 的直接路由192.168.1.1,除非您再次启动它,否则内核不会将其添加到路由表中。

因此,该网关是“无效的”,因为在路由表中找不到覆盖该地址的路由。

事实上,如果你尝试192.168.1.1 dev wlp1s0手动添加例如,你会看到原因:

$ ip a show wlan0
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 3c:9c:0f:7d:89:3a brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.150/24 scope global wlan0
       valid_lft forever preferred_lft forever
$ sudo ip r add 192.168.1.1 dev wlan0
Error: Device for nexthop is not up.

(当然,ip r也不会输出任何内容。)

相关内容