开发者

Linux下配置IP的三种实现方式

目录
  • linux的三种配置 IP方法
    • 方法一:使用nmcli命令
      • nmcli介绍
      • 设备管理
      • 断开设备连接
      • 设置网络连接
    • 方法二:使用ip命令
      • 配置IP地址
      • 配置静态路由
    • 方法三:通过ifcfg文件配置网络
      • 配置静态网络
  • 总结

    Linux的三种配置 IP方法

    方法一:使用nmcli命令

    说明:使用nmcli命令配置的网络配置可以立即生效且系统重启后配置也不会丢失。

    nmcli介绍

    nmcli是NetworkManager的一个命令行工具,它提供了使用命令行配置由NetworkManager管理网络连接的方法。

    nmcli命令的基本格式为:

    nmcli [OPTIONS] OBJECT { COMMAND | help }

    其中,OBJECT选项可以是general、networking、radio、connection或device等。在日常使用中,最常使用的是-t, --terse(用于脚本)、-p, --pretty选项(用于用户)及-h, --help选项,用户可以使用“ nmcli help”获取更多参数及使用信息。

    $ nmcli help

    常用命令使用举例如下:

    • 显示NetworkManager状态:
    $ nmcli general status
    • 显示所有连接:
    $ nmcli connection show
    • 只显示当前活动连接,如下所示添加 -a, --active:
    $ nmcli connection show --active
    • 显示由NetworkManager识别到的设备及其状态:
    $ nmcli device status
    • 使用nmcli工具启动和停止网络接口,在root权限下执行如下命令:
    # nmcli connection up id enp3s0 # nmcli device disconnect enp3s0

    设备管理

    连接到设备

    使用如下命令,NetworkManager将连接到对应网络设备,尝试找到合适的连接配置,并激活配置。

    # nmcli device connect "$IFNAME"

    说明:如果不存在相应的配置连接,NetworkManager将创建并激活具有默认设置的新配置文件。

    断开设备连接

    使用如下命令,NetworkManager将断开设备连接,并防止设备自动激活。

    # nmcli device disconnect "$IFNAME"

    设置网络连接

    列出目前可用的网络连接:nmcli con show

    $ nmcli con show
    NAjsME        UUID                                  TYPE      DEVICE
    有线连接 1  ffce71f8-6121-3024-84b5-192f50f90d25  ethernet  ens160

    说明:输出结果中的NAME字段代表连接ID(名称)。

    添加一个网络连接会生成相应的配置文件,并与相应的设备关联。检查可用的设备,方法如下:

    nmcli dev status
    $ nmcli dev status
    DEVICE  TYPE      STATE   CONNECTION
    ens160  ethernet  已连接  有线连接 1
    lo      loopback  未托管  --
    

    配置静态IP连接

    配置IP

    添加静态 IPv4 配置的网络连接,可使用以下命令:

    nmcli connection add type ethernet con-name connection-name ifname interface-name ip4 address gw4 address

    示例:

    $ nmcli connection add type ethernet con-name eth1_con ifname eth1 ip4 192.168.10.25/24 gw4 192.168.10.1

    说明:如果要添加 IPv6 地址和网关信息,使用 ip6 和 gw6 选项。

    方法二:使用ip命令

    说明:使用ip命令配置的网络配置可以立即生效但系统重启后配置会丢失。

    配置IP地址

    使用ip命令为接口配置地址,命令格式如下,其中 interface-name 为网络接口名。

    ip addr [ add | del ] address dev interface-name

    配置静态地址

    在randroidoot权限下,配置静态IP地址,使用示例如下:

    $ ip address add 192.168.0.10/24 dev enp3s0

    在root权限下,查看配置的网口:

    $ ip addr show dev enp3s0

    配置多个地址

    ip 命令支持为同一接口分配多个地址,可在root权限下重复多次使用 ip 命令实现分配多个地址。

    使用示例如下:

    $ ip address add 192.168.2.223/24 dev enp4s0
    $ ip address add 192.168.4.223/24 dev enp4s0
    $ ip addr
    
    3: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 52:54:00:aa:da:e2 brd ff:ff:ff:ff:ff:ff
        inet 192.168.203.12/16 brd 192.168.255.255 scope global dynamic noprefixroute enp4s0
           valid_lft 8389sec preferred_lft 8389sec
        inet 192.168.2.223/24 scope global enp4s0
           valid_lft forever preferred_lft forever
        inet 192.168.4.223/24 scope global enp4s0
           valid_lft forever preferred_lft forever
        inet6 fe80::1eef:5e24:4b67:f07f/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    

    配置静态路由

    如果需要静态路由,可使用 ip route add 命令在路由表中添加,使用 ip route del 命令删除。

    最常使用的 ip route 命令格式如下:

    $ ip route [ add | del | change | append | replace ] destination-address

    查看路由表:

    $ ip r编程客栈oute

    在主机地址中添加一个静态路由,在 root 权限下,使用以下命令格式:

    $ ip route add 192.168.2.1 via 10.0.0.1 [dev interface-name]
    # 192.168.2.1是目的主机的ip,10.0.0.1是默认网关,dev ethXX是出去的网口

    添加到某个网段的静态路由:

    $ ip route add 192.168.2.0/24 via 10.0.0.1 [dev interface-name]
    #表示到达192.168.2.0-192.168.2.255网段的路由

    添加默认的网关路由:

    $ ip route add default via XX.XX.XX.XX ethX

    方法三:通过ifcfg文件配置网络

    说明:通过ifcjsfg文件配置的网络配置不会立即生效,需要在root权限下执行ifup interface-name命令以激活网络配置后才生效(interface-name处填写具体的网络接口名)。

    配置静态网络

    以enp4s0网络接口进行静态网络设置为例,ibmjpucA通过在root权限下修改ifcfg文件实现,在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-enp4s0的文件中,修改参数配置

    示例如下:

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    IPADDR=192.168.0.10
    GATEWAY=192.168.0.1
    PREFIX=24
    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=enp4s0static
    UUID=08c3a30e-c5e2-4d7b-831f-26c3cdc29293
    DEVICE=enp4s0
    ONBOOT=yes
    

    注意配置静态IP时 ,要设置BOOTPROTO=none

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新运维

    运维排行榜