Windows中的ipconfig命令行工具,被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是 ifconfig (interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。
一、交换 (switch) 内部结构图
如果你的设备含有不少于1个的LAN接口,那这个设备在不同的接口之间可能有一个被称为交换(switch) 的特殊连接。大多数的内部构造如下图所示:
二、实例
1、实例一:显示网络设备信息(激活状态的)
[root@localhost ~] # ifconfigeth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
2、实例二:自己实践
root@OpenWrt:/# ifconfig
ath0 (2.4G) Link encap:Ethernet HWaddr 14:51:7E:DE:2B:B6 //LAN口mac
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)ath1(5G) Link encap:Ethernet HWaddr 14:51:7E:DE:2B:B7
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)br-lan (lan网桥) Link encap:Ethernet HWaddr 14:51:7E:DE:2B:B5
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13786 errors:0 dropped:0 overruns:0 frame:0
TX packets:8456 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1764948 (1.6 MiB) TX bytes:12618909 (12.0 MiB)eth0 Link encap:Ethernet HWaddr 00:12:13:14:15:12 //WAN口mac
UP BROADCAST MULTICAST MTU:807 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)eth1 (有线LAN) Link encap:Ethernet HWaddr 14:51:7E:DE:2B:B5 //br-lan mac
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:13996 errors:0 dropped:0 overruns:0 frame:0
TX packets:11239 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2006618 (1.9 MiB) TX bytes:12769191 (12.1 MiB)lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4973 errors:0 dropped:0 overruns:0 frame:0
TX packets:4973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:328228 (320.5 KiB) TX bytes:328228 (320.5 KiB)wifi0 Link encap:UNSPEC HWaddr 14-51-7E-DE-2B-B6-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6185 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:2699
RX bytes:0 (0.0 B) TX bytes:1072954 (1.0 MiB)wifi1 Link encap:UNSPEC HWaddr 14-51-7E-DE-2B-B7-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6161 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:2699
RX bytes:0 (0.0 B) TX bytes:1070552 (1.0 MiB)
三、配置说明:
1、eth0 以太网接口
以太网接口与网卡对应,每个硬件网卡(一个MAC)对应一个以太网接口,其工作完全由网卡相应的驱动程序控制。如果物理网卡只有一个,而却有eth1,eth2等,则可能存在无线网卡或多个虚拟网卡,虚拟网卡由系统创建或通过应用层程序创建,作用与物理网卡类似。
eth0:网卡的代号。表示第一块网卡。
第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
HWaddr :表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)
第二行:网卡的IP地址、子网、掩码
inet addr:ipv4地址。表示网卡的IP地址。
inet6 addr:ipv6地址。
Bcast:广播地址。
Mask:子网掩码
第三行:
UP:代表网卡开启状态
RUNNING:代表网卡的网线被接上
MULTICAST:支持组播
MTU: 网络接口的最大传输单元:1500字节
第四、五行:网络从启动到目前为止数据包接收、发送数据包情况统计。
packets:数据包数量
errors:数据包发省错误的数量。
dropped:数据包有问题而遭到丢弃的数量。
第六行:
collisions:表示数据包冲突的情况,如果次数太多,表示网络不太好。
txqueuelen:传输数据的缓冲区的存储长度。
第七行:接收、发送数据字节数统计信息。
RX bytes:接受总字节数。
TX bytes:发送总字节数。
2、 br-lan 网桥接口
网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。
br0可以将两个接口进行连接,如将两个以太网接口eth0进行连接,对帧进行转发。
root@OpenWrt:/# brctl show
bridge name bridge id STP enabled interfaces
br-lan 7fff.14517ede2bb5 no ath0
ath1
eth1
br-lan = ath0 + ath1 + eth1,即将无线网和有线LAN口统一划分为 LAN,便于管理!
3、lo 回环接口
lo:loopback,主机的回环地址。一般回环接口的ip v4地址为:127.0.0.1,子网掩码:255.255.255.0。虚拟网络接口:并非真实存在,并不真实地从外界接收和发送数据包,而是在系统内部接收和发送数据包,因此虚拟网络接口不需要驱动程序。
为什么会有该接口?
如果包是由一个本地进程为另一个本地进程产生的, 它们将通过外出链的lo接口,然后返回进入链的lo接口。
四、修改网络设备信息
1.命令格式:
ifconfig [网卡名] [参数]
2.命令功能:
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
3.命令参数:
up 启动指定网络设备/网卡。
down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流。如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
arp 设置指定网卡是否支持ARP协议。
-promisc 设置是否支持网卡的promiscuous模式。如果选择此参数,网卡将接收网络中发给它所有的数据包。
-allmulti 设置是否支持多播模式。如果选择此参数,网卡将接收网络中所有的多播数据包。
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
add <硬件地址> 给指定网卡配置IPv6地址
del <硬件地址> 删除指定网卡的IPv6地址
mtu<字节数> :设置网卡的最大传输单元 (bytes)
netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项。如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-broadcast<地址> 为指定网卡设置广播协议
-pointtopoint<地址> 为网卡设置点对点通讯协议
multicast 为网卡设置组播标志
address 为网卡设置IPv4地址
txqueuelen<长度> 为网卡设置传输列队的长度
实例1:启动关闭指定网卡
命令:
ifconfig eth0 up //启动网卡eth0
ifconfig eth0 down //关闭网卡eth0
说明:ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。
实例2:为网卡配置和删除IPv6地址
命令:
ifconfig eth0 add 33ffe:3240:800:1005::2/64 //为网卡eth0配置IPv6地址;
ifconfig eth0 del 33ffe:3240:800:1005::2/64 //为网卡eth0删除IPv6地址;
实例3:用ifconfig修改MAC地址
命令:
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
输出:
[root@localhost ~] # ifconfig eth0 down //关闭网卡
[root@localhost ~] # ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
[root@localhost ~] # ifconfig eth0 up //启动网卡
[root@localhost ~] # ifconfig
eth0 Link encap:Ethernet HWaddr 00:AA:BB:CC:DD:EE
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
[root@localhost ~] # ifconfig eth0 hw ether 00:50:56:BF:26:20 //关闭网卡并修改MAC地址
[root@localhost ~] # ifconfig eth0 up //启动网卡
[root@localhost ~] # ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
说明:
实例4:配置IP地址
命令:
ifconfig eth0 192.168.120.56 //给eth0网卡配置IP地址
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 //给eth0网卡配置IP,并加mask
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
实例5:启用和关闭ARP协议
命令:
ifconfig eth0 arp //开启网卡eth0 的arp协议;
ifconfig eth0 -arp //关闭网卡eth0 的arp协议;
实例6:设置最大传输单元
命令:
ifconfig eth0 mtu 1500
说明:设置能通过的最大数据包大小为 1500 bytes
备注:用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。