Linux 不同的发行版设置静态 IP

1 Centos 设置静态 IP

1.1 找出需要设置静态 IP 的网络接口名称

[isproot@192 ~]$ nmcli device status
DEVICE      TYPE      STATE      CONNECTION
eth192        ethernet  connected  System eth192
virbr0      bridge    connected  virbr0
lo          loopback  unmanaged  --
virbr0-nic  tun       unmanaged  --

可以看到需要设置的接口对应的名称是 eth192

1.2 修改网络接口相关的配置文件

该文件通常位于 /etc/sysconfig/network-scripts/ 目录下,文件名格式为 ifcfg-<接口名称>。例如,如果接口名称为 ens33,需要编辑 /etc/sysconfig/network-scripts/ifcfg-ens33 文件。使用以下命令打开文件:

vi /etc/sysconfig/network-scripts/ifcfg-eth192

然后做以下改动

  1. 找到 BOOTPROTO=dhcp 行,将 dhcp 更改为 staticnone
  2. 在文件末尾添加以下行
# 静态 IP
IPADDR=192.168.1.12
# 默认网关
GATEWAY=192.168.1.1

修改后文件如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
# 这里可以使用 static 或者 no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
UUID=cd93f1df-d2d5-4c63-a64c-761e9ee23aae
DEVICE=ens192
# 开机启用此配置
ONBOOT=yes
# 静态 IP
IPADDR=192.168.1.12
# 默认网关
GATEWAY=192.168.1.1

1.3 重启网络服务

对于 Centos7:

systemctl restart network

对于 Centos8:

systemctl restart NetworkManager

1.4 查看地址

[isproot@192 ~]$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:51:63:21 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.12/24 brd 192.168.1.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 2408:8256:a80:313:6ba6:7ad0:edd0:defe/64 scope global noprefixroute dynamic
       valid_lft 183241sec preferred_lft 96841sec
    inet6 fe80::b6f3:1daa:4b7b:6994/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

现在,CentOS 系统应该使用指定的静态 IP 地址进行网络通信。请注意,为了避免 IP 地址冲突,您需要确保分配给 CentOS 系统的静态 IP 地址在本地网络中是唯一的,并且不在 DHCP 服务器的分配范围内

2 Debian 设置静态 IP

2.1 找出需要设置静态 IP 的网络接口名称

root@debian:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:92:2d:16 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.103/24 brd 192.168.1.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 fe80::6c5d:abfc:8b6:bd5c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

将看到类似于 eth0、enp0s3 或 enp192 等的接口名称。请记下要设置静态 IP 的接口名称,这里需要调整的接口即为 eth192

2.2 修改网络配置

vi /etc/network/interfaces

在文件中找到您要设置静态 IP 的接口。它应该类似于以下内容:

iface eth192 inet dhcp

其中 eth192 是网络接口的名称,dhcp 表示该接口使用 DHCP 获取 IP 地址。

dhcp 更改为 static,然后添加 addressnetmaskgatewaydns-nameservers 参数。例如:

iface eth0 inet static
    address 192.168.1.11
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 8.8.4.4

确保使用适当的 IP 地址、子网掩码、网关和 DNS 服务器替换上述示例中的值。

修改后文件如下

# 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

# The primary network interface
allow-hotplug ens192
# iface ens192 inet dhcp
# 设置成静态 IP
iface ens192 inet static
# 设置 IP
address 192.168.1.11
# 设置子网掩码
netmask 255.255.255.0
# 设置网关
gateway 192.168.1.1
# 设置 DNS 服务器,我这里设置成路由器的地址
dns-nameservers 192.168.1.1
# This is an autoconfigured IPv6 interface
iface ens192 inet6 auto

2.3 重启网络服务

service networking restart

2.4 查看地址

root@debian:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:0a:14:07 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global ens192
       valid_lft forever preferred_lft forever
    inet6 2408:8256:a81:c14f:20c:29ff:fe0a:1407/64 scope global dynamic mngtmpaddr
       valid_lft 206755sec preferred_lft 120355sec
    inet6 fe80::20c:29ff:fe0a:1407/64 scope link
       valid_lft forever preferred_lft forever

二 小结

从配置的过程来看,基本上都是配置文件的目录和配置项不同而已,其他基本上都差不多,毕竟原理都是一样的。


青阳半雪
点滴记录,步步成长

现实与完美之间

1.6k 声望
24 粉丝
0 条评论
推荐阅读
Django | 信号使用思考
重拾些许关于信号模块使用的记忆,记录对于 Django 信号使用的思考。本文使用的 Django 的版本是 4.21 源码注释 {代码...} 2 函数清单2.1 _make_id 方法 {代码...} 首先认真分析下其业务实现,target 参数是接收...

青阳半雪阅读 468

Centos防火墙和端口操作
防火墙设置开机启用防火墙 {代码...} 设置开机禁用防火墙 {代码...} 启动防火墙 {代码...} 关闭防火墙 {代码...} 检查防火墙状态 {代码...} 重启防火墙 {代码...} 端口开端口命令 {代码...} 命令含义:--zone #作...

zxl20070701阅读 802

centos安装mysql7
删除mysql相关的依赖查询已安装的rpm包 {代码...} 若查询有结果,需删除 {代码...} 删除相关mysql目录并删除查询mysql目录 {代码...} 查询mysql命令 {代码...} 下载mysql二进制包进入/user/local/src/ {代码...} ...

Zeran阅读 710

CentOS7/8 安装 5+ 以上的Linux kernel
CentOS以稳定著称,稳定在另外一方面就是保守。所以CentOS7还在用3.10,CentOS8也才是4.18。而当前最新的Linux Kernel都更新到6.0 rc3了。其他较新的发行版都用上了5.10+的版本。本文简单介绍如何在CentOS7、8上...

刘遄阅读 582

封面图
debain系统下修改docker的默认路径
docker的默认路径位于 /var 中,但往往 /var 路径的容量并不大,一旦docker的镜像、层等稍等大一些,便有把 /var 写满的风险。

myskies阅读 565

Centos7 系列:磁盘挂载和磁盘扩容(新加硬盘方式)
红框圈中的即是本次要挂载的磁盘,与 /dev/sda 和 /dev/sdb 相比,其没有下方的 /dev/sda1 等信息,代表 /dev/sdc 磁盘并没有进行过分区操作,是一个新加的硬盘。

暗星涌动阅读 550

封面图
CentOS系统变化看开源演进
CentOS社区还存不存在?CentOS项目还存不存在?众多CentOS用户将何去何从?伴随CentOS停更,大家可能会有这样那样的疑问,今天针对以上问题,我来进行一一解答。CentOS实际上有两个变种,一个叫做CentOS Linux,...

刘遄阅读 521

封面图

现实与完美之间

1.6k 声望
24 粉丝
宣传栏