一,查看网络配置
1.查看网络接口信息ifconfig
查看所有活动的网络接口信息
执行ifconfig命令
查看指定网络接口信息
ifconfig -a #显示所有活动及非活动的连接
ifdown ens33 #关闭某个网卡
ifup ens33 #启动某个网卡
ifconfig ens33 down #临时禁用某个网卡
ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)
ifconfig 网络接口
[root@localhost ~]# ifconfig ens33
ens33 flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.11 netmask 255.255.255.0 broadcast 192.168.4.255
inet6 fe80.9106:d38b:670d:1a89 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:3a:81:cc txqueuelen 1000(Ethernet)
..//省略部分内容
flags=4163<开启状态,广播,运行中,组播>
mtu:最大传输率
ether :MAC地址
RX:数据包的接收个数
TX:数据包的发送个数
lo:主机回环地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。
virbr0:虚拟网卡,默认为0号虚拟网络连接端口
uname -a查看当前内核版本
uname -r简版当前内核版本
cat letc/redhat-release cat /etc/*release查看当前系统版本信息
2.查看主机名称hostname
hostname命令
查看或设置当前主机名
hostname[主机名](临时)
示例
[root@localhost ~]# hostname
localhost.localdomain
3.查看路由表条目route
route命令
查看或设置主机中路由表信息
ip route show=ip route #查看路由配置
route [-n] 可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度
示例
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use lface
0.0.0.0 192.168.4.1 0.0.0.0 UG 100 0 0 ens33
192.168.4.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
当目标网段为“default”时,表示此行是默认网关记录;
当下一跳为“gateway”时,表示目标网段是与本机直接相连的。
但是,直接执行“route”命令无法直接看出默认网关地址
Destination 列对应目标网段的地址
Gateway 列对应下一跳路由器的地址
Iface 列对应发送数据的网络接口
添加静态路由条目
1.临时添加路由(重启network服务失效)
方法一:
route add -net 192.168.3.0/24 gw 192.168.8.2 [dev ens33]
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口
删除静态路由条目
route del -net 192.168.3.0/24
方法二:
ip route add 192.168.15.0/24 via 192.168.80.2 [dev ens33]
2.永久添加路由(重启network服务生效)
方法一:
vi /etc/sysconfig/static-routes
any net any gw 192.168.80.2
any net 192.168.3.0/24 gw 192.168.80.2
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.80.2
any host 192.168.100.100 gw 192.168.80.2
systemctl restart network
方法二:
vim /etc/sysconfig/network-scripts/route-ens33
default via 192.168.80.2 dev ens33 #默认路由,另一种格式 0.0.0.0/0 192.168.14.254 dev ens33
10.211.6.0/24 via 192.168.80.2 dev ens33
192.168.100.200 via 192.168.14.254 dev ens33
systemctl restart network
或
service network restart
4.查看网络连接情况netstat
netstat命令
查看系统的网络连接状态、路由表、接口统计等信息
netstat[选项]
常用选项
-a :显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n :以数字的形式显示相关的主机地址、端口等信息
-p :显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限
-t :查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息。
-u :显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息。
-r :显示路由表信息
[root@localhost~]# netstat -anpt | grep ":80"
tcp60 0 :::80 :::* LISTEN 20563/httpd
5.获取socket统计信息ss
ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,
而且比 netstat 更快速更高效。要想使用ss命令是Linux CentOS7中iproute软件包的一部分,默认已经安装,如果没安装,额可以通过yum安装
ss命令
查看系统的网络连接情况,获取socket统计信息
ss[选项]
常用选项
-t :tcp 显示 TCP 协议的 sockets。
-u :udp 显示 UDP 协议的 sockets。
-n :numeric 不解析服务的名称,如 "22" 端口不会显示成 "ssh"。
-l :listening 只显示处于监听状态的端口。
-p :processes 显示监听端口的进程。
-a :all 对 TCP 协议来说,既包含监听的端口,也包含建立的连接。
-r :resolve 把 IP 解释为域名,把端口号解释为协议名称。
[root@localhost ~]# ss -t state established
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 96 192.168.8.10:ssh 192.168.8.1:55213
[root@localhost ~]# time ss
real 0m0.012s
user 0m0.003s
sys 0m0.005s
[root@localhost ~]# time netstat -an
real 0m0.027s
user 0m0.001s
sys 0m0.006s
查看并发连接数ss和netstat对比
[root@shengjie ~]# time netstat -ant | grep EST | wc -l
0
real 0m0.002s
user 0m0.002s
sys 0m0.002s
[root@shengjie ~]# time ss -o state established | wc -l
711
real 0m0.013s
user 0m0.003s
sys 0m0.003s
为什么ss比netstat快:
netstat是遍历/proc下面每个PID目录,
ss直接读/proc/net下面的统计信息。
所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
[root@centos7 ~]# ss -tn | grep -w 22 -w用于字符串的精确匹配
ESTAB 0 0 192.168.245.151:22 192.168.245.152:35318
ESTAB 0 21800 192.168.0.105:22 192.168.0.103:61488
ESTAB 0 0 192.168.0.105:22 192.168.0.103:61491
[root@localhost ~]# ss -o state 'established' | grep ssh #-o选项可用于显示计时器信息。该信息向我们展示了诸如重新传输计时器值、已经发生的重新传输的数量以及已发送的keepalive探测的数量
tcp 0 52 192.168.245.211:ssh 192.168.245.1:64550 timer:(on,234ms,0)
ss 命令的输出结果,可以提供 TCP 和 UDP 的 socket 信息,以及各种服务建立的持久连结,熟悉这个命令有助于更好的发现与解决系统性能问题。例如,执行以下操作可以显示TCP 协议下已经建立的连接,“Local Address:Port” 表示本地监听的 IP 和端口,“Peer Address:Port”表示远端连接的 IP 和端口
[root@localhost ~]# ss -t state established #established, syn-sent, syn-recv, fin-wait-1, fin-wait-2, time-wait, closed, closed-wait, last-ack监听和关闭等状态
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 52 192.168.245.211:ssh 192.168.245.1:64550
[root@shengjie ~]# ss -tnl sport le 500
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
【le:小于,ge:大于,eq:等于】
二,测试网络连接
1.测试网络连接 ping
ping命令
测试网络连通性
-c表示指定ping的次数
-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
ping -w 5 www.baidu.com #表示ping的超时时间为5s,意思是只ping5秒,5秒后结束
ping[选项]目标主机
示例
[root@localhost ~]# ping 192.168.4.110
PING 192.168.4.110 (192.168.4.110)56(84) bytes of data.
64 bytes from 192.168.4.110: icmp_seq=2 ttl=128 time=0.274 ms
^C 按Ctrl+C中止测试
---192.168.4.110 ping statistics---
2 packets transmitted, 2 received,0% packet loss, time 1162ms
rtt min/avg/max/mdev = 0.274/0.484/0.694/0.210 ms
2.跟踪数据包traceroute
traceroute命令
测试从当前主机到目的主机之间经过的网络节点
traceroute 目标主机地址
示例
[root@localhost ~]# traceroute 192.168.7.7
traceroute to 192.168.7.7 (192.168.7.7),30 hops max, 40 byte packets
1 (192.168.4.1)7.740 ms 15.581 ms 15.881 ms
2 (192.168.7.7)19.652 ms 19.995 ms 19.942 ms
3.域名解析nslookup
nslookup命令
测试DNS域名解析
nslookup 目标主机地址 [DNS服务器地址]
示例
[root@localhost ~]# nslookup www.google.com
Server: 202.106.0.20 DNS服务器地址
Address: 202.106.0.20#53
Non-authoritative answer:
Name: www.l.google.com 解析的IP地址
Address:173.194.127.51
三,使用网络配置命令
1.设置网络参数的方式
临时配置——使用命令调整网络参数
简单、快速,可直接修改运行中的网络参数
—般只适合在调试网络的过程中使用
系统重启以后,所做的修改将会失效
固定设置———通过配置文件修改网络参数
修改各项网络参数的配置文件
适合对服务器设置固定参数时使用
需要重载网络服务或者重启以后才会生效
2.设置网络接口参数ifconfig
设置网络接口的IP地址、子网掩码
ifconfig 网络接口 ip地址 [netmask子网掩码]
ifconfig 网络接口 ip地址 [/子网掩码长度]
禁用或者重新激活网卡
ifconfig 网络接口 up
ifconfig 网络接口 down
设置虚拟网络接口
ifconfig 网络接口:序号 IP地址
3.设置路由记录route
添加到指定网段的路由记录
route add -net网段地址gw IP地址
删除到指定网段的路由记录
route del -net网段地址
向路由表中添加默认网关记录
route add default gw IP地址
删除路由表中默认的网关记录
route del default gw IP地址
4.修改主机名hostname
hostname命令
设置主机名
hostname主机名称
示例
[root@localhost ~]# hostnamelocalhost.localdomain
[root@localhost ~]# hostname www.bdqncom
[root@localhost ~]# hostname
www.bdqn.com
[root@localhost ~]# bash 启用新的Shell会话
[root@www ~]#
四,修改网络配置文件
1.网络接口配置文件
/etc/sysconfig/network-scripts/目录下
ifcfg-ens33:第1块以太网卡的配置文件
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-lo
2.网络接口配置文件
/etc/sysconfig/network-scripts/目录下
ifcfg-ens33:第1块以太网卡的配置文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.4.11
NETMASK=255.255.255.0
GATEWAY=192.168.4.100
3.启用、禁用网络接口配置
重启network网络服务
[root@localhost ~]# systemctl restart network
禁用、启用网络接口
[root@localhost ~]# ifdown ens33
[root@localhost ~]# ifup ens33
4.域名解析配置文件
/etc/resolv.conf文件
保存本机需要使用的DNS服务器的IP地址
[root@localhost ~]# vi /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1
注意:CentOS 7需要在NetworkManager.conf文件main段内设置dns=none,并重启NetworkManager服务,或者使用CentOS7新添加nmcti命令进行设置
5.本地主机映射文件
/etc/hosts 文件
保存主机名与IP地址的映射记录
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.
119.75.218.70 www.baidu.com
hosts文件和DNS服务器的比较
默认情况下,系统首先从hosts文件查找解析记录
hosts文件只对当前的主机有效
hosts文件可减少DNS查询过程,从而加快访问速度
6.dig命令
一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具,系统默认安装,若没有:yum -y install bind-utils
dig www.baidu.com #后跟域名直接查询