为什么需要静态IP地址
在企业内部网络中,计算机是从本地连接的路由器中获取IP地址的,默认情况下这是一个动态IP地址,即每次从路由器中获取IP是随机变化的。这种规则用于普通客户机访问网络并没有什么影响,但如果是一台服务器(如悦库企业网盘服务端),则需要一个静态的IP地址,以便其他客户机以固定方式连接到服务器,而不是经常修改连接服务器的IP地址。
如何配置静态IP地址
Ubuntu18.04以后不再支持ifupdown配置网络,而改用 Netplan,本教程是基于Netplan的网络配置方法,在Ubuntu18.04上验证通过。
以下例子中,当前的动态IP为:192.168.0.13,我们将配置为静态IP: 192.168.0.180 。
静态IP必须和当前动态IP的网段一致,否则可能导致网络无法连接。如果静态IP已经被分配给网络中的其他主机,会造成IP冲突,网络无法连接,直接将当前动态IP配置为静态IP可以避免这一情况。
查看当前动态IP
ifconfig
输出内容
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:81:00:3f:4b txqueuelen 0 (以太网)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.13 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::bd31:b416:5049:bbfc prefixlen 64 scopeid 0x20<link>
ether 08:00:27:33:20:75 txqueuelen 1000 (以太网)
RX packets 1882 bytes 257705 (257.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 365 bytes 32881 (32.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
其中 enp0s3 是用物理网线连接的网卡,这是一个局域网IP,地址:192.168.0.13 。
2. 配置静态IP地址
列出网络配置文件,其在不同Ubuntu版本中可能会有差异,但一定是.yaml文件。
ls /etc/netplan/
输出内容
01-network-manager-all.yaml
备份现有的配置文件,这样如果配置错误可以恢复。
sudo cp /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.bak
使用vi编辑器打开
sudo vim /etc/netplan/01-network-manager-all.yaml
如果使用xshell方式,请在vi编辑器命令模式下输入(避免复制格式混乱):
:set paste
配置文件修改如下:
其中 addresses 是静态IP地址,gateway4是网关地址,nameservers是DNS服务器地址。
network:
ethernets:
enp0s3:
dhcp4: no
addresses: [192.168.0.180/24]
optional: true
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.1,223.6.6.6]
version: 2
- 重启网络服务使配置生效
sudo netplan apply
- 验证结果
ifconfig
输出内容
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:81:00:3f:4b txqueuelen 0 (以太网)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.180 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::bd31:b416:5049:bbfc prefixlen 64 scopeid 0x20<link>
ether 08:00:27:33:20:75 txqueuelen 1000 (以太网)
RX packets 1882 bytes 257705 (257.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 365 bytes 32881 (32.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0