Ubuntu 修改 IP地址 与 主机名

本文讲述怎么在 Ubuntu 上,修改 IP地址 与 主机名~

修改 IP 地址

ifconfig(interface configuration 的缩写) 命令用于显示或设置网络设备。

所以我们可以用该命令来查看系统上的网卡信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.86.129 netmask 255.255.255.0 broadcast 192.168.86.255
inet6 fe80::20c:29ff:fe6a:1060 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:6a:10:60 txqueuelen 1000 (Ethernet)
RX packets 129 bytes 24167 (24.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 155 bytes 22870 (22.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 117 bytes 16191 (16.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 117 bytes 16191 (16.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
单词 解释
ens33 网卡的名字
inet IP4 地址
inet6 IP6 地址
netmask 子网掩码
broadcast 广播地址

loinet 127.0.0.1
由于 127.0.0.1 是本机回送地址(Loopback Address),即主机 IP 堆栈内部的 IP 地址,
主要用于网络软件测试以及本地机进程间通信,
无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。

上面的信息还缺少网关信息

可以使用 route -nnetstat -r 命令查询

1
2
3
4
5
6
7
$ route -n

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.86.2 0.0.0.0 UG 100 0 0 ens33
192.168.86.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.86.2 0.0.0.0 255.255.255.255 UH 100 0 0 ens33

这样就可以查看到 ens33 这网卡对应的 Gateway192.168.86.2

Ubuntu 是通过 netplan 来管理网络地址的。

Ubuntu18 使用 ls /etc/netplan 显示 50-cloud-init.yaml

1
2
3
$ ls /etc/netplan

50-cloud-init.yaml

Ubuntu20 使用 ls /etc/netplan 显示 00-installer-config.yaml

1
2
3
$ ls /etc/netplan

00-installer-config.yaml

编辑 /etc/netplan 下得 yaml 文件,如:
$ sudo vim /etc/netplan/00-installer-config.yaml

1
2
3
4
5
6
7
8
9
10
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
ens33:
dhcp4: true
version: 2

改成如下:

1
2
3
4
5
6
7
8
9
network:
ethernets:
ens33:
dhcp4: no
addresses: [192.168.86.101/24]
gateway4: 192.168.86.2
nameservers:
addresses: [114.114.114.114]
version: 2

注意的是 ensXX (网卡的名称)不要编辑,其它的按 yaml 文件的规范来~

保存后,可使用命令:
$ sudo netplan apply 应用修改

$ sudo service networking restart 重启网络服务

修改主机名

$ sudo vim /etc/cloud/cloud.cfg

1
2
3
4
5
6
7
8
9
10
11
12
# A set of users which may be applied and/or used by various modules
# when a 'default' entry is found it will reference the 'default_user'
# from the distro configuration specified below
users:
- default

# If this is set, 'root' will not be able to ssh in and they
# will get a message to login instead as the default $user
disable_root: true

# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: false

preserve_hostname: false 改成 preserve_hostname: true

$ sudo vi /etc/hostname

修改文件的主机名~

保存后,重启机器~

$ sudo reboot

觉得文章对您有帮助,请我喝瓶肥宅快乐水可好 (๑•̀ㅂ•́)و✧
  • 本文作者: 阿彬~
  • 本文链接: https://iweixubin.github.io/posts/ubuntu-network/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 免责声明:本媒体部分图片,版权归原作者所有。因条件限制,无法找到来源和作者未进行标注。
         如果侵犯到您的权益,请与我联系删除