Ubuntu 16.04.5 server
确认网卡
首先,可以先确认要配置 IP 的网卡名字。
平时常用来查看网卡信息的命令是ifconfig
,如果在安装系统时,有进行网络配置,就可以看见已配置的网卡,例如:1
2
3
4
5
6 ifconfig
ens33 Link encap:Ethernet HWaddr 00:0c:29:c0:90:ac
...
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
...
但是,如果安装时跳过了网络配置,通过ifconfig
是无法看到网卡信息的,只能看到 loopback 接口:1
2
3
4 ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
...
因此,推荐使用ip addr
来查看网卡1
2
3
41: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
...
2: ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:0c:29:a7:15:e5 brd ff:ff:ff:ff:ff:ff
可以看到一张网卡 ens33 。
配置静态IP
例如,我想配置的网卡是 ens33。通过修改文件 /etc/network/interfaces
来配置1
sudo vi /etc/network/interfaces
原文件内容如下:1
2
3
4
5
6
7
8 This file describes the network interfaces available on your system
and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
The loopback network interface
auto lo
iface lo inet loopback
在文件末尾写入:1
2
3
4
5
6auto ens33 # 对应网卡名字
iface ens33 inet static # 设置为静态IP
address 192.168.99.20 # 要设置的IP地址
netmask 255.255.255.0 # 掩码,根据实际掩码设置
gateway 192.168.99.2 # 网关IP,根据实际网关设置
dns-nameservers 114.114.114.114 8.8.8.8 # DNS服务器IP,根据需要设置
如果文件中已经有对应的网卡,例如经过 DHCP,覆盖其设置即可,如果已经有 IPV6 地址,例如出现:1
2
3
4 The primary network interface
This is an autoconfigured IPv6 interface
auto ens33
iface ens33 inet6 auto
是因为这张网卡已经获得了 IPV6 地址,在这两行之间插入以上所需内容,设置 IPV4 地址即可。
刷新设置
1 | sudo ip addr flush ens33 |
再重新查看 IP:1
2
3
4
5
6 ip addr
...
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:a7:15:e5 brd ff:ff:ff:ff:ff:ff
inet 192.168.99.20/24 brd 192.168.99.255 scope global ens33
...
可以看到已经成功配置了 ens33 的IP,可以使用ping
来检测连通性了。如果刷新 IP 重启服务仍然无效,直接reboot
。
Ubuntu 18.04.1.0 server
在 ubuntu 18.04 中,可以使用更加方便和直观的 netplan 命令来完成配置。
配置静态IP
通过修改文件 /etc/netplan/50-cloud-init.yaml
来配置:1
sudo vim /etc/netplan/50-cloud-init.yaml
初始文件就会提供非常直观可读的配置内容:1
2
3
4
5
6
7
8
9
10
11# 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:
addresses: []
dhcp4: true
version: 2
直接在对应位置填充内容即刻。只需注意这里的addresses
项与 16.04 版本不同,包含了掩码:1
2
3
4
5
6
7
8
9network:
ethernets:
ens33:
addresses: [192.168.99.21/24] # IP及掩码,根据实际需要设置
gateway4: 192.168.99.2 # 网关,根据实际设置
nameservers: # DNS服务器,根据实际设置
addresses: [114.114.114.114, 8.8.8.8]
dhcp4: no # 关闭dhcp
version: 2
应用设置
1 | sudo netplan apply |
此时,再查看 IP1
2
3
4
5
6 ip addr
...
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:9a:92:4c brd ff:ff:ff:ff:ff:ff
inet 192.168.99.21/24 brd 192.168.99.255 scope global ens33
...
利用ping
可以验证此时已经配置好静态 IP 并已经连通。
本文为博主原创文章,转载请注明出处。