Linux配置IP的几种方法

Posted wanao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux配置IP的几种方法相关的知识,希望对你有一定的参考价值。

临时生效:ifconfig

[root@localhost Desktop]# ifconfig eno16777736 192.168.75.50 netmask 255.255.255.0

 

Network:配置网卡

  1. 关闭networkmanager服务(同时配置Network和NetworkManager两种网络管理工具会引起冲突)
    [root@localhost Desktop]# systemctl stop NetworkManager
    [root@localhost Desktop]# systemctl status NetworkManager
  2. 编辑网卡配置文件
    # cd /etc/sysconfig/network-scripts
    # vim ifcfg-enp0s3
    TYPE=Ethernet    网络类型
    BOOTPROTO=static    获取IP的方式,有dhcp、static、none
    DEVICE=enp0s3    设备名称
    ONBOOT=yes    开机是否启动此网卡,重启network时是否一起激活
    
    如果是获取IP方式为static,需要增加以下字段
    IPADDR=192.168.75.100
    NETMASK=255.255.255.0
    GATEWAY=192.168.75.1

    小技巧:可以先将IP获取方式改为DHCP,然后ip a看网段,之后使用static即可得知如何设置IP。

  3. 重启网络
    [root@localhost Desktop]# systemctl restart network

 

NetworkManager网络管理工具

CentOS和RHEL系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。

nmtui

使用nmtui来配置网络

[root@localhost Desktop]# nmtui

 

 nmcli

使用nmcli命令来管理NetworkManager服务(nmcli是一款基于命令行的网络配置工具)

一个接口具有一个硬件名称(唯一的身份标识)和一个或多个连接名称(类比外号)

  • 硬件名称:DEVICE、ifname
  • 连接名称:NAME、cname、con-name、connection-name

具有多个连接名称的原因:多个连接名称生成多个配置文件,允许用户在多个配置文件中快速切换(网络会话功能,在不同的使用环境激活相应的网络会话,可实现网络配置信息的自动切换)

[root@localhost Desktop]# nmcli connection show 
NAME         UUID                                  TYPE            DEVICE      
eno16777736  334f12c8-08cb-41ed-b149-2c15e13fa7b3  802-3-ethernet  --          
eno16777736  850c769e-bcad-4a51-8af7-20f76a76da02  802-3-ethernet  eno16777736 

没有连接到物理接口的连接名称不生效。

实战:

[root@localhost Desktop]# ifconfig

eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 00:0c:29:2a:b4:2c  txqueuelen 1000  (Ethernet)
        RX packets 162  bytes 20041 (19.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1384  bytes 112654 (110.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

创建网络会话

[root@localhost Desktop]# nmcli connection add con-name test ifname eno16777736 type ethernet autoconnect yes save yes
con-name指定网络会话名称为test
autoconnect yes设置该网络会话默认自动激活

查看创建的网络会话

[root@localhost Desktop]# nmcli connection show 
NAME     UUID                                  TYPE            DEVICE       
test     f6fb794d-f9dd-4d24-befd-76126b364555  802-3-ethernet  eno16777736 

配置IP

[root@localhost Desktop]# nmcli connection modify test ipv4.addresses 192.168.75.100/24 ipv4.gateway 192.168.75.1 ipv4.dns 192.168.75.1 ipv4.method manual

启用会话

[root@localhost Desktop]# nmcli connection up test 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)

查看此时的网络IP

[root@localhost Desktop]# ifconfig

eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.75.100  netmask 255.255.255.0  broadcast 192.168.75.255
        inet6 fe80::20c:29ff:fe2a:b42c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:2a:b4:2c  txqueuelen 1000  (Ethernet)
        RX packets 176  bytes 22141 (21.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1652  bytes 141088 (137.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

以上是关于Linux配置IP的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

?linux中使用文本工具截取ip 的几种方法

Linux系统下取IP地址的几种方法

linux 系统获取当前登陆ip地址的几种方法

Laravel:如何在控制器的几种方法中重用代码片段

Linux开机自动加载的几种方法

LINUX - 获取本地ip