自从我更换了路由器后,一台电脑sudo dhclient eno1
每次重启后我都必须运行该命令。我已升级到 Xubuntu 20.04,但问题仍然存在。我该如何改变这种情况?
结果ifconfig -a
:
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::729a:2013:ba7e:ba02 prefixlen 64 scopeid 0x20<link>
ether a4:5d:36:82:ba:53 txqueuelen 1000 (Ethernet)
RX packets 8032 bytes 8241625 (8.2 MB)
RX errors 0 dropped 8 overruns 0 frame 0
TX packets 5851 bytes 763496 (763.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我正在使用 eno1(有线以太网),IP 192.168.0.10 是正确的(路由器上为我的 MAC 地址配置的固定 IP 地址)。
/etc/netplan
@Thomas:目录中没有文件
@Terrance: 不:/etc/dhcpcd.conf
不存在
唯一/etc/dhcp/dhclient.conf
不是注释的行是:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
timeout 300;
答案1
由于您正在使用ifupdown
来控制网络接口,请确保将以下两行添加到文件中/etc/network/interfaces
:
auto eno1
iface eno1 inet dhcp
第一行告诉系统在启动时自动打开接口。第二行告诉系统接口将使用 DHCP 而不是静态。
希望这可以帮助!
答案2
不要在第三方应用上浪费时间,直接在 Linux 中修复它,
如果您不知道接口名称,则使用
ip a
接口可以是ens3
或eno0
或其他任何名称。然后编辑 Netplan 文件夹中的 YAML 文件。您可以使用 nano、vi 或任何其他编辑器。如果您的用户没有权限,请使用 sudo 来运行它。
sudo vi /etc/netplan/*.yaml
像这个模板一样根据您的喜好添加一些线条。
network:
ethernets:
ens8:
dhcp4: true
match:
macaddress: fa:16:3e:d7:29:b9
mtu: 1450
set-name: ens8
nameservers:
addresses: [1.1.1.1, 4.2.2.4]
dhcp6: false
version: 2
请注意缩进。
- 保存它并尝试执行它
sudo netplan apply
,如果您没有得到任何结果,那么您就大功告成了。如果您有任何错误,请仔细阅读,大多数情况下是拼写错误、缩进错误或权限错误。如果您的情况不是这样,我们可以一起检查一下这个模板中的内容。
line1:network:
表示可以在此处找到网络配置。 line2:ethernets:
表示我们配置的网络适配器是以太网端口,也可以是 wlan 或其他类型。 line3:ens8:
是我们的接口名称,您应该将其替换为已在ip a
line4 中显示的接口名称:dhcp4: true
表示您的 dhcp 客户端监听 ipv4 dhcp 服务器,如果您想使用 ipv6,您可以修改。此行设置为 false。 line5-6:match:
对于此方法不是必需的,表示如果将接口名称分配给 mac 地址,则macaddress: fa:16:3e:d7:29:b9
继续,否则不会应用所有配置。
line7:mtu: 1450
是建议的连接 mtu line8:set-name: ens8
是应用配置后的接口名称。此行不是强制性的。 line9-10:nameservers:
定义名称服务器的 DNS 服务器地址,DNNS 可以从 DHCP 服务器获取,也可以在此处明确获取。如果您在使用名称而不是 IP 对服务器进行 ping 时遇到问题,这可以解决问题。addresses: [1.1.1.1, 4.2.2.4]
这些是名称服务器的 IP 地址。 line11:dhcp6: false
显然强制不监听 ipv6 DHCP 服务器 line12:version: 2
是服务的版本。