ping
ping命令是比较常用的网络命令,可以用它来判断网络的连通和延迟
# 检测是否能够访问某个ip地址,并且只发10个包。
ping 192.168.1.1 -c 10
# 指定从那个网卡设备出,多网卡时特别有用
ping -I eth0 192.168.1.1
# 指定包大小,在判断延时更准确
ping -s 1452 192.168.1.1
为甚ping的包大小不能超过1500?
这是因为每个子网都有MTU值的设置,它就是当前网络传输的最大数据包的大小,而以太网MTU的值一般为1500,而PPPoE拨号上网的MTU为1480。不过此处并不代表你能ping -s 1480 club.52robot.org成功,原因是ping -s的大小是数据字段的大小,还要算上IP包的包头字段和ICMP协议头字段,这样才是整个数据包的大小。所以,在我的网络可以发送包的大小=1480(PPPoE的MTU) - 20 (IP包的包头)- 8 (ICMP协议头),算出为1452字节(这是我的网络极限,1453都不行)。
traceroute 和 mtr
这两个命令一块说呢是因为,traceroute和mtr都可以用于对目标地址的追踪。先说traceroute常见用法:
# -n 是不尝试解析ip的域名,这样会更快。每行结果后面会有3个时间参数,分别代表三次请求的时间。
traceroute -n 192.168.1.1
# -i 指定网卡接口
traceroute -n -i eth0 192.168.1.1
接下来是mtr:
# -s 设置包大小,--address 指定从那个ip发请求
mtr -s 100 --address 192.168.1.100 club.52robot.org在mtr的刷新界面,按n按键可以不对ip进行域名解析。
nslookup 和dig
它们两个都是用于做查询域名解析的,同样也是一个常规版一个进化版,先说nslookup:
# 查询192.168.1.1域名的解析
nslookup 192.168.1.1
# 查询mx记录
nslookup -type=mx 192.168.1.1
# 查询所有记录
nslookup -type=any 192.168.1.1
# 从指定DNS服务器进行查询
nslookup 192.168.1.1 223.5.5.5
接下来是dig版的:
# 查询域名
dig 192.168.1.1
# 查询mx记录
dig -t mx 192.168.1.1
# 查询所有记录
dig -t any 192.168.1.1
# 追踪所有解析,可以看到从客户端指定的dns服务器一步一步将dns请求转发到域名托管的dns服务器
dig +trace 192.168.1.1
# 从指定DNS服务器进行查询
dig @223.5.5.5 192.168.1.1
telnet
telnet现在很少有设备采用这种远程服务了,不过还是有它的用途:
# 判断目标地址的80端口是否开启tcp服务
telnet 192.168.1.1 80
修改CentOS7的网卡别名
我们先改下网卡别名,因为新的命名方法不太好记忆:
#复制规则文件模板
cp /usr/lib/udev/rules.d/60-net.rules /etc/udev/rules.d/
#修改此文件内容为
ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="08:00:27:28:3e:6b", NAME="eth0"接下来,改下网卡配置文件,首先更改下名字:
#修改网卡配置文件名,方便识别
mv /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-eth0其次,改下配置文件内的两个配置:
#将原名改为eth0
NAME=eth0
DEVICE=eth0
改完后,重启机器。
net-tools和iproute2对比
两者都是在linux系统下对ip管理配置的工具,接下来我们来作个对比。不过对比之前,我们先要安装下net-tools包
yum install net-tools
下面看下命令对比:
用途 | iproute2 | net-tools |
---|---|---|
查看ip地址 | ip addr show | ifconfig -a |
启用网络设备 | ip link set up eth0 | ifup eth0 |
禁用网络设备 | ip link set down eth0 | ifdown eth0 |
配置临时ip | ip addr add 192.168.1.100/24 dev eth0 | ifconfig eth0 192.168.1.100/24 |
删除临时ip | ip addr del 192.168.1.100/24 dev eth0 | ifconfig eth0 0 |
修改MAC地址 | ip link set dev eth0 address FF:FF:FF:FF:FF:FF | ifconfig eth0 hw ether FF:FF:FF:FF:FF:FF |
查看路由 | ip route show | route -n 或 netstat -rn |
添加默认路由 | ip route add default via 192.168.1.1 dev eth0 | route add default gw 192.168.1.1 eth0 |
删除默认路由 | ip route replace default via 192.168.1.1 dev eth0 | route del default gw 192.168.1.1 eth0 |
添加静态路由 | ip route add 172.16.16.0/24 via 192.168.1.1 dev eth0 | route add -net 172.16.0.0/24 gw 192.168.1.1 dev eth0 |
查看ARP信息 | ip neigh | arp -an |
添加ARP绑定 | ip neigh add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0 | arp -s 192.168.1.100 00:0c:29:c0:5a:ef |
删除ARP绑定 | ip neigh del 192.168.1.100 dev eth0 | arp -d 192.168.1.100 |
查看本地TCP监听 | ss -ltp | netstat -tnlp |
查看本地所有TCP连接 | ss -tn | netstat -nt |