每天一个Linux命令(46)ifconfig命令

时间:2023-03-09 20:29:26
每天一个Linux命令(46)ifconfig命令

在windows系统中,ipconfig命令行工具被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)

    (1)用法:

    用法:  ifconfig [网络设备] [参数]

    (2)功能:

    功能:  ifconfig命令用来查看和配置网络设备,当网络环境发生改变时可通过此命令对网络进行相应的配置。

注意:  用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存在电脑里,那就要修改网卡的配置文件了。

    (3)选项参数:

1)  up            启动指定网络设备/网卡。

2)  down            关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。

3) -a          无论是否激活,显示所有配置的网络接口。

4) add          给指定网卡配置IPv6地址

  5) del          删除指定网卡的IPv6地址

6) arp|-arp        打开或关闭支持ARP协议

7) mtu<字节数>      设置网卡的最大传输单元

8) netmask<子网掩码> 设置网卡的子网掩码

    (4)实例:

1)[sunjimeng@localhost ~]$ ifconfig        

[sunjimeng@localhost ~]$ ifconfig         //未联网时的参数
eno16777736: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
ether :0c::4d:a3:cc txqueuelen (Ethernet)
RX packets bytes (170.8 KiB)
RX errors dropped overruns frame
TX packets bytes (0.0 B)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (274.8 KiB)
RX errors dropped overruns frame
TX packets bytes (274.8 KiB)
TX errors dropped overruns carrier collisions
[sunjimeng@localhost ~]$ ifconfig                   //连接到有线网时的参数
eno16777736: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 //mtu表示最大传输单元
inet 192.168.117.128 netmask 255.255.255.0 broadcast 192.168.117.255
inet6 fe80::20c:29ff:fe4d:a3cc prefixlen 64 scopeid 0x20<link>
ether :0c::4d:a3:cc txqueuelen (Ethernet)
RX packets bytes (177.7 KiB)
RX errors dropped overruns frame
TX packets bytes (6.1 KiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (303.1 KiB)
RX errors dropped overruns frame
TX packets bytes (303.1 KiB)
TX errors dropped overruns carrier collisions

    说明:

  1)etn(Number)指的是网卡,可以看到目前这个网卡的物理地址(MAC地址)是 00:0c:29:4d:a3:cc。

2)inet后表示ip地址,此网卡的ip地址是192.168.117.128,广播地址是192.168.117.255,掩码地址为255.255.255.0。

3)lo是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。

  比如把 http服务器指定到回环地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

2)[root@localhost sunjimeng]# ifconfig eno16777736 down    打开和关闭指定网卡

[sunjimeng@localhost ~]$ ifconfig eno16777736 down      //必须是root权限才可以
SIOCSIFFLAGS: 不允许的操作
[sunjimeng@localhost ~]$ su root
密码:
[root@localhost sunjimeng]# ifconfig eno16777736 down
[root@localhost sunjimeng]# ifconfig
lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (303.9 KiB)
RX errors dropped overruns frame
TX packets bytes (303.9 KiB)
TX errors dropped overruns carrier collisions
[root@localhost sunjimeng]# ifconfig eno16777736 up
[root@localhost sunjimeng]# ifconfig
eno16777736: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
ether :0c::4d:a3:cc txqueuelen (Ethernet)
RX packets bytes (181.3 KiB)
RX errors dropped overruns frame
TX packets bytes (9.4 KiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (304.2 KiB)
RX errors dropped overruns frame
TX packets bytes (304.2 KiB)
TX errors dropped overruns carrier collisions

注意:ssh登陆linux服务器,关闭了网卡就不能开启了,除非你有多网卡。

3)[root@localhost sunjimeng]# ifconfig -a      无论是否激活,显示所有配置的网络接口,不带参数的只显示已激活的网络接口

[root@localhost sunjimeng]# ifconfig -a
eno16777736: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
ether :0c::4d:a3:cc txqueuelen (Ethernet)
RX packets bytes (181.6 KiB)
RX errors dropped overruns frame
TX packets bytes (9.4 KiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (304.2 KiB)
RX errors dropped overruns frame
TX packets bytes (304.2 KiB)
TX errors dropped overruns carrier collisions

4)启用或关闭支持ARP协议

[root@localhost sunjimeng]# ifconfig eno16777736 arp
[root@localhost sunjimeng]# ifconfig eno16777736 -arp

5)[root@localhost sunjimeng]# ifconfig eno16777736 mtu 2000    设置网络设备传输的最大单元

[root@localhost sunjimeng]# ifconfig
eno16777736: flags=<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu 1500
inet 192.168.117.128 netmask 255.255.255.0 broadcast 192.168.117.255
inet6 fe80::20c:29ff:fe4d:a3cc prefixlen scopeid 0x20<link>
ether :0c::4d:a3:cc txqueuelen (Ethernet)
RX packets bytes (103.3 MiB)
RX errors dropped overruns frame
TX packets bytes (1.2 MiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (356.3 KiB)
RX errors dropped overruns frame
TX packets bytes (356.3 KiB)
TX errors dropped overruns carrier collisions [root@localhost sunjimeng]# ifconfig eno16777736 mtu
[root@localhost sunjimeng]# ifconfig
eno16777736: flags=<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu
ether :0c::4d:a3:cc txqueuelen (Ethernet)
RX packets bytes (138.3 MiB)
RX errors dropped overruns frame
TX packets bytes (1.2 MiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (414.3 KiB)
RX errors dropped overruns frame
TX packets bytes (414.3 KiB)
TX errors dropped overruns carrier collisions

6)[root@localhost sunjimeng]# ifconfig eno16777736 hw ether 00:0c:29:4d:a3:dd    设置网卡的mac地址

[root@localhost sunjimeng]# ifconfig
eno16777736: flags=<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu
inet 0.0.0.64 netmask 0.0.0.0 broadcast 255.255.255.255
ether 00:0c:29:4d:a3:cc txqueuelen (Ethernet)
RX packets bytes (151.8 MiB)
RX errors dropped overruns frame
TX packets bytes (1.2 MiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (2.6 MiB)
RX errors dropped overruns frame
TX packets bytes (2.6 MiB)
TX errors dropped overruns carrier collisions [root@localhost sunjimeng]# ifconfig eno16777736 hw ether :0c::4d:a3:dd
[root@localhost sunjimeng]# ifconfig
eno16777736: flags=<UP,BROADCAST,RUNNING,NOARP,MULTICAST> mtu
inet 0.0.0.64 netmask 0.0.0.0 broadcast 255.255.255.255
ether 00:0c:29:4d:a3:dd txqueuelen (Ethernet)
RX packets bytes (151.8 MiB)
RX errors dropped overruns frame
TX packets bytes (1.2 MiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (2.7 MiB)
RX errors dropped overruns frame
TX packets bytes (2.7 MiB)
TX errors dropped overruns carrier collisions