配置ubuntu网络

Ubuntu上默认使用的是netplan管理网络(至少18.04~22.04都是,其他更早的版本我没用过)

在18.04上查看 /etc/network/interfaces文件可以看到

1
2
3
4
# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
# sudo apt install ifupdown

在22.04上索性这个文件都没了。

在没有网络的情况下无法 sudo apt install ifupdown,只能去配置netplan,/etc/netplan是一个目录,下面会有一个默认的 *.yaml 文件。

我遇到过 50-cloud-init.yaml 以及 00-installer-config.yaml,总就是通过它配置网络。

可以先用ifconfig -a查看一下当前的网络状态和网卡名称。如果ifconfig命令也没有,可以用ip ad

假设我们有两块网卡,一个叫enp2s0是有线网卡,一个叫wlp3s0是无线网卡。

分别看一下配置方案:

有线网卡固定IP配置

先启用网卡

1
ifconfig enp2s0 up

编辑/etc/netplan/*.yaml配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
network:
renderer: networkd
ethernets:
enp2s0:
dhcp4: no
addresses:
- 192.168.1.10/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 114.114.114.114
- 8.8.8.8
search: []
version: 2

应用生效

1
netplan apply

有线网卡动态IP配置

先启用网卡

1
ifconfig enp2s0 up

编辑/etc/netplan/*.yaml配置

1
2
3
4
5
6
network:
renderer: networkd
ethernets:
enp2s0:
dhcp4: yes
version: 2

应用生效

1
netplan apply

无线网卡固定IP配置

配置无线网卡要先配好有限然后安装两个东西

1
apt update && apt install -y wpasupplicant network-manager

然后关闭有线网卡,开启无线网卡

1
2
ifconfig enp2s0 down
ifconfig wlp3s0 up

编辑/etc/netplan/*.yaml配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
network:
renderer: NetworkManager
ethernets:
wlp3s0:
dhcp4: no
addresses:
- 192.168.1.10/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 114.114.114.114
- 8.8.8.8
search: []
access-points:
"WIFI名称":
password: "WIFI密码"
version: 2

应用生效

1
2
sudo netplan generate
sudo netplan apply

无线网卡动态IP配置

类似无线网卡固定IP的步骤,配置改为

1
2
3
4
5
6
7
8
9
network:
renderer: NetworkManager
ethernets:
wlp3s0:
dhcp4: yes
access-points:
"WIFI名称":
password: "WIFI密码"
version: 2

常用网络命令

临时指定IP(重启失效)

1
ifconfig <网口号> <IP地址> netmask <子网掩码>

Example:

1
ifconfig eth0 192.168.1.141 netmask 255.255.255.0

如果没有ifconfig命令,可以用ip命令

1
ip addr add 192.168.1.141/24 dev eth0

配置默认网关

1
route add default gw 192.168.1.1

查看路由表

1
netstat -rn

1
route -n

1
ip route

Destination 0.0.0.0的 GateWay就是默认网关

添加一条路由

1
ip route add 192.168.10.0/24 via 192.168.1.99

手动动态获取IP地址

比如我们把网络接口插上网线UP起来,然后什么都不配置,直接dhclient,如果路由器上开启了DHCP,那么应该会分到一个IP,有时候明明配置好了,但是重启不会自动获取IP地址,手动执行一次dhclient就可以获取到,不清楚原因

1
dhclient

查看开放端口和对应的进程ID

1
netstat -anp

在发现一个端口被占用,想找出对应的进程

1
netstat -anp|grep <port>

测试一个端口是否开放

1
telnet <ip> <port>

1
nc -v <ip> <port>

BTW:如果一些网络命令不能执行,安装这几个包试试

1
apt update && apt install -y iproute2 iputils-ping net-tools