Linux设置固定IP地址

引子

虽然Windows 10可以通过主机名获取IP地址,但Linux并不能ping主机名。在DHCP网络下,IP地址随机分配,给服务器的维护工作以及后端开发造成了极大的麻烦。但在路由器中设置IP与MAC绑定起不到效果,IP地址照样随机分配。

解决这种问题的方法就是设置固定IP地址。

0. 更改DHCP地址池的开始地址与终止地址

如图所示,把要自动分配的IP地址限定一个范围:

"DHCP服务器"设置中编辑地址池开始地址与地址池结束地址

本文中设置地址池开始地址为192.168.0.100,结束地址池为192.168.0.199。DHCP服务器能够自动分配的IP地址在192.168.0.100192.168.0.199之间。

不同路由器的设置方法存在差异。

这么做的目的是防止服务器(即要固定IP地址的机器)下线时DHCP会分配前者原先的IP地址给其他机器,造成不必要的麻烦。

1. 在Linux下设置固定的IP地址

现在就要在服务器上操作了。

1. 登录shell,进入/etc/network目录

1
cd /etc/network

2. 备份interfaces文件

1
sudo cp interfaces interfaces.bak
如果配置失败,请将`interfaces.bak`还原为`interfaces`,即`sudo mv interfaces.bak interfaces`

3. 编辑interfaces文件

1
sudo nano interfaces

文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# lo虚拟网卡启动时映射本地环回
auto lo
# 设置eth0网卡启动时自动联网
auto eth0

# 设置lo虚拟网卡为本地换回
iface lo inet loopback
# 设置eth0网卡支持热插拔
allow-hotplug eth0
# 设置eth0网卡为静态IP
iface eth0 inet static
# 你期望的IP地址
address 192.168.0.200
# 子网掩码,一般不用改
netmask 255.255.255.0
# 网关,可以设置你的路由器的IP地址
gateway 192.168.0.1

保存(Ctrl+S),退出(Ctrl+X)

4. 重启网络服务以应用

最简单的方法:

1
sudo reboot

或者这样:

1
sudo service networking restart

在重启的过程中,你可以试着ping一下你所期望的IP地址,如果ping有回应则说明配置成功。