主要涉及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 addrIPv4的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。