Linux下配置静态ip
说明
本方案通过修改系统的网络配置文件来实现静态IP的配置。
前置条件
需要知道网络服务服务器的基本信息(网关、子关掩码…)。这里 假设 如下:
网关(gateway): 192.168.0.1
子关掩码(netmask): 255.255.255.0
DNS:8.8.8.8、1.1.1.1
Debian系列(Ubuntu、debian)
- 先看一下连的哪个网口别搞错了,用下面这个命令,看一下到底哪个网口在工作。
ifconfig -a
- 编辑网络配置文件,用下面这个命令。我这里是编辑 “01-network-manager-all.yml” 这个文件,最好到netplan路径下面看看到底有哪些文件。需要找到你对应网口的那个配置文件。
vim /etc/netplan/01-network-manager-all.yml
- 改成下面这个样子就行。(需要sudo的权限)注意 “YAML” 文件需要关注空格问题。
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s0:
addresses: [192.168.0.101/24] #你需要改成的IP
gateway4: 192.168.0.1 #上面前置条件需要知道的
dhcp4: false #不需要自动分配IP
nameservers:
addresses: [8.8.8.8, 1.1.1.1] #设置主、从DNS
- 保存上面的文件后,通过下面的命令使得静态IP设置生效。
sudo netplan apply
RedHat系列(CentOS、Fedora)
- 同上面一样,需要先确定工作网口。
ifconfig -a
- 使用 vim 编辑下面这个文件(根据网口自己确定)。我这里工作的网口是eth0,建议到 “network-scripts” 这个文件路径下自己 tab 两下看看到底有哪些文件。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
- 按照下面这个样子改。
DEVICE=eth0 # 网口名字
BOOTPROTO=none # 不需要自动获取IP(none、static、dhcp)
NM_CONTROLLED=yes # 由Network Manager托管
ONBOOT=yes # 是否随网络服务启动,eth0生效,为no时ifconfig查看不到eth0网卡IP信息
TYPE=Ethernet #
IPADDR=192.168.0.101 # 你要改的IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.0.1 # 网关
DNS1=8.8.8.8 # 主DNS
DNS2=1.1.1.1 # 从DNS
IPV6INIT=no # 不启用IPv6
- 用下面这个命令重启一下网络服务就行。
sudo service network restart