从 Ubuntu 17.10 开始 Ubuntu 修改了其 IP 配置诚程序,由原来的 network 替换为 netplan ,放弃使用在 /etc/network/interfaces 文件配置 IP,而改为在 /etc/netplan/01-network-manager-all.yaml 文件(或该目录下类似的 yaml 文件)中配置。相应的也弃用了 ifup 和 ifdown 命令,转而使用 sudo netplay apply 来管理 IP。
ifconfig -a
使用该命令可以查看系统网卡设备名称,一般为 eth0 或 ens33 。
打开文件:
vim /etc/network/interfaces
打开文件后,原始的 interfaces 文件,一般会显示如下内容:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interface(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
按照如下方式,可以配置为静态 IP:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interface(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.16.123
netmask 255.255.255.0
gateway 192.168.16.1
dns-nameservers 192.168.16.1 8.8.8.8
DHCP 可以使得系统自动获取一个 IP 地址,如果这个 IP 地址没有在你所在的局域网策略里面与 Mac 地址绑定,那么这个 IP 地址在使用过程中是可能变更的。修改 /etc/network/interfaces 为如下配置,可使 DHCP 生效:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interface(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
# 根据不同版本系统的支持情况,可以选择下面的一种方式重启网络
sudo systemctl restart networking
# 或
sudo service restart networking
# 或
sudo /ect/init.d/networking restart
重启网络之后,便可以使用 ifconfig -a
命令来查看配置是否生效,也可以通过在其它主机 ping
该主机,检测网络是否连通。
本节内容参考自:https://linuxhint.com/ubuntu_20-04_network_configuration/#1
$ ip a
或
$ ip addr
运行上述任一命令都将显示 IP 地址信息。从上述命令的输出中记下接口的名称,一般为 eth0 或 ens33 。
最新版本的 Ubuntu 使用 netplan 作为默认网络管理器。网络计划的配置文件存储在 /etc/netplan 目录中。可以使用以下命令在 /etc/netplan 目录中找到此配置文件:
$ ls /etc/netplan
上面的命令将返回扩展名为 .yaml 的配置文件的名称,在这里是 01-network-manager-all.yaml(你可等得到其它的名称,但扩展名一定是 .yaml)。
在对此文件进行任何更改之前,请确保创建该文件的备份副本。使用 cp 命令执行此操作:
$ sudo cp /etc/netplan/01-network-manager-all.yaml 01-network-manager-all.yaml.bak
打开该文件:
$ sudo vim /etc/netplan/01-network-manager-all.yaml
然后通过替换适合你的网络需求的接口名称、IP地址、网关和DNS信息来添加以下行:
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: no
addresses:
- 192.168.72.140/24
gateway4: 192.168.72.2
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
使用以下命令测试新配置:
$ sudo netplan try
若测试通过,将会收到 “configuration accept” 的消息,否则将回滚到以前的配置。
接下来,运行一下命令使配置生效:
$ sudo netplan apply
最后,可以使用 ip a
或 ping
来检测配置是否生效。
和设置静态 IP 地址的方法类似,我们也可以设置系统动态获取 IP,不同之处是 /etc/netplan/01-network-manager-all.yaml 文件应修改为如下配置:
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: yes
addresses: []
查看当前主机名,可以使用下面命令之一:
$ hostnamectl
Static hostname: ft-ubuntu
Icon name: computer-server
Chassis: server
Machine ID: 28f94ec206bd4709847aed8c76967a97
Boot ID: 04b7da6677564f90a2d6b1a79023763f
Operating System: Ubuntu 20.04.1 LTS
Kernel: Linux 5.8.0-44-generic
Architecture: x86-64
或者
$ hostname
ft-ubuntu
有两种不同的方法可以更改系统的主机名。要更改系统的主机名,您必须是 root 用户或具有 sudo 权限的标准用户。
要将系统的主机名更改为新名称,请使用以下命令:
sudo hostnamectl set-hostname <new hostname>
例如:
$ sudo hostnamectl set-hostname desktop
此命令将系统主机名修改为 desktop,但是只有在重启系统后才能生效。
Hostname 命令也可以用于更改系统主机名,需要注意的是此命令只会临时更爱主机名:
$ sudo hostname name
要永久更改主机名,需要编辑 /etc/hostname 和 /etc/hosts 文件。
使用下面的命令编辑 /etc/hostname 文件:
$ sudo vim /etc/hostname
用新名称替换旧主机名,然后保存并退出文件。
然后使用下面的命令编辑 /etc/hosts 文件:
$ sudo vim /etc/hosts
用新名称替换旧主机名,然后保存并退出文件。
之后,重新启动系统,将看到分配给系统的新主机名。
完成基本网络配置后,使用 ping 命令验证你的系统和网络和外部网络上的其他系统的连接:
$ ping IP-address or domain name