Linux 网络命令 ip、ifconfig

本文介绍了ifconfig和ip这两个网络配置工具的使用方法。ifconfig适用于修改MAC地址、配置IP地址等操作;ip命令则提供了更为丰富的功能,如显示或操纵路由、网络设备等。随着ifconfig逐渐被弃用,ip已成为首选工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

ifconfig 网络设置工具

ip 网络配置工具


ifconfig 网络设置工具

1、ifconfig 命令用于显示或设置网络设备,比如修改 mac 地址、修改 ip 地址等。

2、ifconfig 语法:

ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明

add<地址> 设置网络设备IPv6的IP地址。
del<地址> 删除网络设备IPv6的IP地址。
down 关闭指定的网络设备。
<hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
io_addr<I/O地址> 设置网络设备的I/O地址。
irq<IRQ地址> 设置网络设备的IRQ。
media<网络媒介类型> 设置网络设备的媒介类型。
mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
mtu<字节> 设置网络设备的MTU。
netmask<子网掩码> 设置网络设备的子网掩码。
tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
up 启动指定的网络设备。
-broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
-pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
-promisc 关闭或启动指定网络设备的promiscuous模式。
[IP地址] 指定网络设备的IP地址。
[网络设备] 指定网络设备的名称。

示例一:查看网络设备信息

1、eno16777736、lo 都表示网卡的名字,通常带数字的才是用得到,比如下面的 eno16777736。

2、其中 inet 表示 ip 地址,netmask 表示子网掩码,broadcast 表示广播地址,other 表示 mac 地址。

[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.58.129  netmask 255.255.255.0  broadcast 192.168.58.255
        inet6 fe80::20c:29ff:feea:9e7f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ea:9e:7f  txqueuelen 1000  (Ethernet)
        RX packets 4340  bytes 300062 (293.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 944  bytes 143003 (139.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 40  bytes 15268 (14.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 40  bytes 15268 (14.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 

示例二:启动或关闭指定网卡

ifconfig 网卡名 down关闭指定网卡
ifconfig 网卡名 up开启指定网卡
[root@localhost ~]# ifconfig lo down
[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.58.129  netmask 255.255.255.0  broadcast 192.168.58.255
        inet6 fe80::20c:29ff:feea:9e7f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ea:9e:7f  txqueuelen 1000  (Ethernet)
        RX packets 4522  bytes 313326 (305.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1015  bytes 152563 (148.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# ifconfig lo up
[root@localhost ~]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.58.129  netmask 255.255.255.0  broadcast 192.168.58.255
        inet6 fe80::20c:29ff:feea:9e7f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:ea:9e:7f  txqueuelen 1000  (Ethernet)
        RX packets 4547  bytes 315378 (307.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1029  bytes 154623 (150.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 40  bytes 15268 (14.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 40  bytes 15268 (14.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 

示例三:为网卡配置或删除 IPv6 地址

ifconfig eth0 add 33ffe:3240:800:1005::2/ 64

为网卡诶之IPv6地址
ifconfig eth0 del 33ffe:3240:800:1005::2/ 64为网卡删除IPv6地址

示例四:修改 MAC地址

# ifconfig eth0 down //关闭 eth0 网卡
# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改 eth0 网卡的 MAC 地址
# ifconfig eth0 up //启动 eth0 网卡
# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭 eth1 网卡并修改 MAC 地址 
# ifconfig eth1 up //启动 eth1 网卡

示例五:配置 IP 地址

ifconfig eth0 192.168.1.56给 eth0 网卡配置 IP 地址
ifconfig eth0 192.168.1.56 netmask 255.255.255.0给 eth0 网卡配置 IP 地址,并加上子网掩码
ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255给 eth0 网卡配置 IP 地址, 加上子网掩码, 加上广播地址

ip 网络配置工具

1、ip 命令用来显示或操纵 Linux 主机的路由、网络设备、策略路由和隧道,是 Linux 下较新的功能强大的网络配置工具。

2、ifconfig 命令在 Linux 上被弃用已有十多年的时间了,而 iproute2 项目包含了神奇的工具 ip,推荐使用 ip 命令

3、ip 命令语法:ip (选项) (参数)

选项如下
-V:显示指令版本信息;
-s:输出更详细的信息;
-f:强制使用指定的协议族;
-4:指定使用的网络层协议是IPv4协议;
-6:指定使用的网络层协议是IPv6协议;
-0:输出信息每条记录输出一行,即使内容较多也不换行显示;
-r:显示主机时,不使用IP地址,而使用主机的域名。

示例一:查询 IP 地址:ip addr show 会显示所有网络链接设备的信息,如有线网卡、无线网卡等。

[root@localhost ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    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: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:ea:9e:7f brd ff:ff:ff:ff:ff:ff
    inet 192.168.58.129/24 brd 192.168.58.255 scope global dynamic eno16777736
       valid_lft 1214sec preferred_lft 1214sec
    inet6 fe80::20c:29ff:feea:9e7f/64 scope link 
       valid_lft forever preferred_lft forever

示例二:显示网络设备运行状态

[root@localhost ~]# ip -s link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast   
    0          0        0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    0          0        0       0       0       0       
2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:ea:9e:7f brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    3733653    5183     0       0       0       0       
    TX: bytes  packets  errors  dropped carrier collsns 
    237777     1562     0       0       0       0       

示例三:显示核心路由表

1、路由表是本地主机帮助网络流量确定去哪里的方式。它包含一组路标,将流量发送到特定的接口,以及在其旅途中的特定下一个地点。

2、第一行代表外部流量的外部网关,第二行代表本地流量

[root@localhost ~]# ip route list
default via 192.168.58.2 dev eno16777736  proto static  metric 100 
192.168.58.0/24 dev eno16777736  proto kernel  scope link  src 192.168.58.129  metric 100 

示例四:显示邻居表

[root@localhost ~]# ip neigh list
192.168.58.1 dev eno16777736 lladdr 00:50:56:c0:00:08 DELAY
192.168.58.2 dev eno16777736 lladdr 00:50:56:e4:3a:6e STALE
192.168.58.254 dev eno16777736 lladdr 00:50:56:e3:b0:68 STALE

示例五:监视你的网络配置

1、ip monitor 命令可用于监视路由表(网络接口上的网络寻址)的更改或本地主机上 ARP 表的更改。此命令在调试与容器和网络相关的网络问题时特别有用,如当两个虚拟机应该能彼此通信,但实际不能。

2、在使用 all 时,ip monitor 会报告所有的更改,前缀以 [LINK](网络接口更改)、[ROUTE](更改路由表)、[ADDR](IP 地址更改)或 [NEIGH](与马无关 —— 与邻居的 ARP 地址相关的变化)。

[root@localhost ~]# ip monitor all
[nsid current]192.168.58.1 dev eno16777736 lladdr 00:50:56:c0:00:08 STALE
[nsid current]192.168.58.1 dev eno16777736 lladdr 00:50:56:c0:00:08 STALE
[nsid current]192.168.58.1 dev eno16777736 lladdr 00:50:56:c0:00:08 STALE
[nsid current]192.168.58.1 dev eno16777736 lladdr 00:50:56:c0:00:08 STALE
[nsid current]192.168.58.1 dev eno16777736 lladdr 00:50:56:c0:00:08 STALE
[nsid current]192.168.58.1 dev eno16777736 lladdr 00:50:56:c0:00:08 STALE
[nsid current]192.168.58.1 dev eno16777736 lladdr 00:50:56:c0:00:08 STALE

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蚩尤后裔-汪茂雄

芝兰生于深林,不以无人而不芳。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值