Linux 系统中,将网络配置从 DHCP 改为静态 IP 可以通过几种不同的方法来实现,下面是几种常见的方式:
方法一:使用 connman
(Connection Manager)
如果你已经在使用 connman
管理网络,可以通过修改 connman
的设置文件来配置静态 IP。
步骤:
-
找到相应网络接口的配置文件,路径通常在
/var/lib/connman
或/etc/connman
目录下。例如,文件名可能是类似ethernet_xxxxxxxxxxx_cable
。 -
编辑该配置文件:
sudo nano /var/lib/connman/ethernet_xxxxxxxxxxx_cable/settings
-
修改配置文件,使其类似如下内容:
[ethernet_xxxxxxxxxxx_cable] Name=Wired AutoConnect=true IPv4.method=manual IPv4.netmask_prefixlen=24 IPv4.local_address=192.168.30.116 IPv4.gateway=192.168.30.1 Nameservers=192.168.19.19 IPv6.method=off IPv6.privacy=disabled
-
重启
connman
服务:sudo systemctl restart connman 或者: /etc/init.d/S45connman restart
-
备注:
动态 IP 设置:
- IPv4.method=dhcp:使用 DHCP 获取 IP 地址。
- IPv4.DHCP.LastAddress=192.168.30.204:上次获取的 IP 地址。
静态 IP 设置:
- IPv4.method=manual:手动设置 IP 地址。
- IPv4.local_address=192.168.30.116:静态 IP 地址。
- IPv4.netmask_prefixlen=24:子网掩码。
- IPv4.gateway=192.168.30.1:网关地址。
- Timeservers=ntp.ntsc.ac.cn;:时间服务器。
- Nameservers=192.168.19.19;:DNS 服务器。
方法二:直接编辑 /etc/network/interfaces
另一种常见的方法是直接编辑 /etc/network/interfaces
文件。
步骤:
-
打开
interfaces
文件进行编辑:sudo nano /etc/network/interfaces
-
配置接口,例如
eth0
,使其使用静态 IP:auto eth0 iface eth0 inet static address 192.168.30.116 netmask 255.255.255.0 gateway 192.168.30.1 dns-nameservers 192.168.19.19
-
重启网络服务:
sudo systemctl restart networking
方法三:使用 nmcli
命令(NetworkManager)
如果系统中使用的是 NetworkManager
,可以使用 nmcli
命令来配置静态 IP。
步骤:
-
显示当前连接的设备:
nmcli device status
-
修改连接的配置,将其设置为静态 IP:
sudo nmcli con modify eth0 ipv4.method manual ipv4.addresses 192.168.30.116/24 ipv4.gateway 192.168.30.1 ipv4.dns 192.168.19.19
-
启用新的配置:
sudo nmcli con up eth0
方法四:直接编辑 /etc/dhcpcd.conf
文件
如果系统使用的是 dhcpcd
来管理网络,可以通过编辑 /etc/dhcpcd.conf
文件来设置静态 IP。
步骤:
-
打开
dhcpcd.conf
文件进行编辑:sudo nano /etc/dhcpcd.conf
-
添加或修改静态 IP 配置:
interface eth0 static ip_address=192.168.30.116/24 static routers=192.168.30.1 static domain_name_servers=192.168.19.19
-
重启
dhcpcd
服务:sudo systemctl restart dhcpcd