目录
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