0%

周谈(48)- 网络配置

前言

我有一台机器,经常换内核版本调试。机器是公司的产品,如果使用标准的内核启动的话,常常因为配置问题那个图形用户界面会登录不进去,就没办法在用户界面下配置IP。

之前也没有进行详细的了解,不晓得有一个netplan的工具可以配置IP。所以使用的方法也比较挫,就是在/etc/profile文件中添加了几个命令配置IP的。
这样,就有一个问题,必须有用户登录才能触发执行这些命令。又刚好我有一个串口线接着机器,所以每次重启后我就先通过串口登录,触发IP配置命令,后面就可以使用ssh网络连接了。

最近呢,串口线让同事借走了,然后又有人连着我的机器进行驱动调试,经常就奔溃了,重启后又要接串口,一个串口线就要来回使用,很麻烦。

然后就上网查了一下,配置静态IP的方法,找到了netplan这个工具,尝试了一下,可以解决我的问题。

1
2
3
4
5
# /etc/profile

ifconfig enp1s0 10.0.0.96/24
route add default gw 10.0.0.254

netplan

Ubuntu 18.04开始,Ubuntu和Debian移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,转而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令实现网络管理。
Netplan 是抽象网络配置描述器,用于配置Linux网络。 通过netplan命令,你只需用一个 YAML文件描述每个网络接口所需配置。netplan并不关心底层管理工具是NetworkManager还是networkd。

netplan是一个基于YAML文件的网络配置工具,在YAML里面描述具体的网络接口的配置,netplan在启动的时候会在/run目录下生成对应的配置文件供后台程序使用(NetworkManager/networkd),具体使用那个后台程序是在YAML里描述了的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# cat /etc/netplan/01-netcfg.yaml

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd # 后台程序
ethernets:
enp1s0:
addresses: [10.0.0.96/24]
dhcp4: false
gateway4: 10.0.0.254
nameservers:
addresses: [8.8.8.8]

上面这个文件就是配置了enp1s0网络接口, ip地址为10.0.0.96/24, 不开启DHCP, 网关为10.0.0.254, DNS服务器使用8.8.8.8。

我们修改完yaml文件后,可以使用netplan try 测试一下配置是否正确,然后再执行netplan apply,这样重启后就会按配置来配置网络了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14

# netplan try
Do you want to keep these settings?


Press ENTER before the timeout to accept the new configuration


Changes will revert in 119 seconds
Configuration accepted.

# netplan apply


这中间遇到了一个错误,因为系统自带的netplan 没有get/set命令, 然后我就重新apt install netplan。 但是新的netplan其实跟旧的那个冲突了。重启后发现配置又不生效了。使用新的netplan执行会报错:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
fatal error: cannot bind to port 2983, is another daemon running?

# 需要重新安装会 netplan.io

# 先删掉之前的netplan,

sudo apt remove netplan

# 然后再

sudo apt install netplan.io

# 最后

sudo netplan apply

这样才恢复正常了。

快捷键切换命令模式

后来想想,毕竟机器还连着显示器,用户界面登录不了的话,应该可以使用命令行界面登录的。 今天,也在网络上查找了一下,可以通过快捷键切换Ctrl + ALT + (F1~F6)。

F1的时候是图形界面, F2-F6会创建不同的命令界面。

gui
cmd

这样通过命令行界面登录进去之后,也可以用命令配置网络,其他电脑也就可以顺利的ssh了。

更多

知之为知之,不知为不知。在实际工作中,带着问题去查找解决方法总是可以学到新的知识。


行动,才不会被动!

欢迎关注个人公众号 微信 -> 搜索 -> fishmwei,沟通交流。

博客地址: https://fishmwei.github.io

掘金主页: https://juejin.cn/user/2084329776486919


Powered By Valine
v1.5.2