Windows 上有 ipconfig ,Linux 上有一个类似的工具,就是 ifconfig (interfaces config)。ifconfig 工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置。

慎重提示:下面的所有相关命令,在清除明白其含义之后再输入到终端,另外不要远程到服务器执行,下面的命令可能导致远程服务器网络配置异常

命令格式

ifconfig [device] [parameter]

命令功能:

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

命令参数:

  • up 启动指定网络设备 / 网卡。
  • down 关闭指定网络设备 / 网卡。该参数可以有效地阻止通过指定接口的 IP 信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
  • -promisc 设置是否支持网卡的 promiscuous 模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
  • -a 显示全部接口信息

使用实例:

显示网络设备信息

命令

ifconfig

输出

eth0  Link encap:Ethernet  HWaddr f2:3c:91:2d:a3:0a
      inet addr:192.169.31.204 Bcast:192.168.31.255 Mask:255.255.255.0
      inet6 addr: fea0::f13c:91ff:fe2d:a30a/64 Scope:Link
      inet6 addr: 2400:8903::f33c:92ff:ff2d:a31a/64 Scope:Global
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:18740952 errors:0 dropped:0 overruns:0 frame:0
      TX packets:17044866 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:1000
      RX bytes:17987424394 (17.9 GB)  TX bytes:18563777089 (18.5 GB)

说明

eth0 表示第一块网卡,如果有其他网卡可能会有 eth1, eth2 等等

lo 是表示主机的回环地址,一般用来测试本地网络程序,只能在此台主机上运行和查看的网络接口。比如把 Nginx 服务器指定到回环地址,在浏览器输入 127.0.0.1 就能看到 Nginx 欢迎页面。

具体每一项的内容包括以下:

  • 连接类型:Ethernet(以太网)HWaddr(硬件 mac 地址) HWaddr 表示网卡的物理地址 MAC 地址
  • 网卡的 IP 地址、子网、掩码 其中 inet addr 用来表示网卡的 IP 地址,此网卡的 IP 地址是 192.168.31.204,广播地址, Bcast:192.168.31.255,掩码地址 Mask:255.255.255.0
  • 如果有 IPv6 地址会显示 IPv6 地址
  • UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500 字节
  • 接收、发送数据包情况统计
  • 接收、发送数据字节数统计信息。

启动关闭指定网卡

命令:

ifconfig eth0 up
ifconfig eth0 down

说明:

ifconfig eth0 up 为启动网卡 eth0 ;ifconfig eth0 down 为关闭网卡 eth0。

为网卡配置和删除 IPv6 地址

命令:

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

说明:

ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡 eth0 配置 IPv6 地址;
ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡 eth0 删除 IPv6 地址;

用 ifconfig 修改 MAC 地址

命令:

ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE

配置 IP 地址

命令:

ifconfig eth0 192.168.120.56
ifconfig eth0 192.168.120.56 netmask 255.255.255.0
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255

说明:

上面几行的命令解释如下:

  • 给 eth0 网卡配置 IP 地:192.168.120.56
  • 给 eth0 网卡配置 IP 地址:192.168.120.56 ,并加上子掩码:255.255.255.0
  • 给 eth0 网卡配置 IP 地址:192.168.120.56,加上子掩码:255.255.255.0,加上个广播地址: 192.168.120.255

启用和关闭 ARP 协议

ARP 协议就是一个根据 IP 地址获取物理地址的一个协议。

命令:

ifconfig eth0 arp
ifconfig eth0 -arp

说明:

ifconfig eth0 arp 开启网卡 eth0 的 arp 协议;

ifconfig eth0 -arp 关闭网卡 eth0 的 arp 协议;

设置最大传输单元

命令:

ifconfig eth0 mtu 1500

说明:

设置能通过的最大数据包大小为 1500 bytes

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