主要涉及Linux网络管理的几个简单指令,主要包括ifconfig、ping、nslookup
获取网络接口的配置信息
可以使用 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地址。[网络设备]
指定网络设备的名称。
示例
ens33
表示第一块网卡,lo
表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 httpd服务器的指定到回坏地址,在浏览器输入127.0.0.1就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
UP
表示网卡是开启状态BROADCAST
表示网卡支持广播RUNNING
表示网卡的网线已经被接上MULTICAST
表示网卡支持组播MTU
网络最大传输单元inet addr
IPv4的IP地址,后续的netmask
和broadcast
分别代表的是子网掩码与广播地址。inet6 addr
是IPv6的版本的IP,我们没有使用,所以略过。ether/HWaddr
网卡的硬件地址,习惯称为MAC。RX
那一行代表的是网络由启动到目前为止的数据包接收情况,packets
代表数据包数、errors
代表数据包发生错误的数量、dropped
代表数据包由于有问题而遭丢弃的数量等。TX
与RX
相反,为网络由启动到目前为止的传送情况。collisions
代表数据包碰撞的情况,如果发生太多次,表示你的网络状况不太好。txqueuelen
代表用来传输数据的缓冲区的储存长度。RX Bytes、TX Bytes
:总传送、接收的字节总量。Interrupt、Memory
:网卡硬件的数据,IRQ岔断与内存地址。
示例
- 启动关闭指定网卡:
ifconfig eth0 up
ifconfig eth0 down
ifconfig eth0 up
为启动网卡 eth0
,ifconfig eth0 down
为关闭网卡 eth0
。ssh
登陆 linux 服务器操作要小心,关闭了就不能开启了,除非你有多网卡。
- 为网卡配置和删除IPv6地址:
ifconfig eth0 add 33ffe:3240:800:1005::2/64 #为网卡eth0配置IPv6地址
ifconfig eth0 del 33ffe:3240:800:1005::2/64 #为网卡eth0删除IPv6地址
- 用
ifconfig
修改MAC地址:
ifconfig eth0 hw ether 00:AA:BB:CC:dd:EE
- 配置IP地址:
[root@localhost ~]# ifconfig eth0 192.168.2.10
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255
- 启用和关闭
arp
协议:
ifconfig eth0 arp #开启网卡eth0 的arp协议
ifconfig eth0 -arp #关闭网卡eth0 的arp协议
- 设置最大传输单元:
ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为 1500 bytes
测试与目标主机是否联通
Linux测试与目标主机是否联通可以使用 ping
命令,执行 ping
指令会使用 ICMP
传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
语法
ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
参数说明
-d
使用Socket的SO_DEBUG功能。-c <完成次数>
设置完成要求回应的次数。-f
极限检测。-i<间隔秒数>
指定收发信息的间隔时间。-I<网络界面>
使用指定的网络接口送出数据包。-l<前置载入>
设置在送出要求信息之前,先行发出的数据包。-n
只输出数值。-p<范本样式>
设置填满数据包的范本样式。-q
不显示指令执行过程,开头和结尾的相关信息除外。-r
忽略普通的 Routing Table,直接将数据包送到远端主机上。-R
记录路由过程。-s<数据包大小>
设置数据包的大小。-t<存活数值>
设置存活数值TTL的大小。-v
详细显示指令的执行过程。-w <deadline>
在 deadline 秒后退出。-W <timeout>
在等待 timeout 秒后开始执行。
示例
检查是否与主机联通
linux 的ping
命令会一直运行,除非使用ctrl c
结束。指定接收包的次数
间隔3秒发送一个1024字节的数据包,TTL为255
-i 3
发送周期为 3秒-s
设置发送包的大小-t
设置TTL值为 255。
查看服务器域名对应的IP地址
Linux 可以使用 nslookup
命令查看服务器域名对应的IP地址。
nslookup
(Name Server Lookup)是一种网络管理命令,用于从 DNS 服务器查询域名、IP或其他 DNS 记录信息。
nslookup
有两种工作模式,交互模式和非交互模式。在交互模式下,用户可以向域名服务器查询各类主机、域名的信息,或者输出域名中的主机列表。在非交互模式下,针对一个主机或域名仅仅获取特定的名称或所需信息。
进入交互模式有两种方式:
(1)直接输入 nslookup
命令,不加任何参数,此时 nslookup
会连接到默认的域名服务器(/etc/resolv.conf
的第一个DNS地址);
(2)第一个参数是连字符(-
),第二个参数是域名服务器的主机名或IP,即 nslookup - SERVER|IP
。
其他方式则进入非交互模式,比如 nslookup NAME
查询域名对应的IP。
语法
nslookup [-OPTION] [NAME | -] [SERVER]
NAME
为域名,SERVER
为域名服务器地址。
nslookup
具体可见这篇文章。
示例
- 查询域名信息
上面是主机的IP地址,下面是www.baidu.com
的两个IP地址(可能有多个服务器)。canonical name
表示其别名为www.a.shifen.com
。