目录
查看网络配置
使用ifconfig命令查看网络接口地址
主机的网络接口卡(网卡)通常称为“网络接口”,在不带任何选项和参数执行 ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息
网卡名称详解:
ens33:第一块以太网卡的名称详解:
“ens33”中的“en”是“EtherNet”的缩写,表示网卡
类型为以太网,“s”表示热插拔插槽上的设备(hot-plug Slot),数字“33”表示插槽 编号
[root@localhost ~]#ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
//该接口 已启用 支持广播 正在运行 支持组播 最大传输单位1500字节
inet 192.168.91.111 netmask 255.255.255.0 broadcast 192.168.91.255
inet6 fe80::faac:17cb:c83e:25fb prefixlen 64 scopeid 0x20<link>
//ipv6 地址 子网长度 作用域link表示只对该接口有效
ether 00:0c:29:ad:3c:44 txqueuelen 1000 (Ethernet)
// mac地址 传输队列列表(传输缓存大小) 接口类型
RX packets 198053 bytes 245913685 (234.5 MiB)
//接受报文个数 总和字节数
RX errors 0 dropped 0 overruns 0 frame 0
//接受 错误 丢弃 溢出 冲突帧数
TX packets 77013 bytes 5454866 (5.2 MiB)
//发送报文个数 总字节数
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
// 错误 丢失 溢出 载荷数 冲突数
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 221 bytes 20896 (20.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 221 bytes 20896 (20.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:25:84:65 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
使用ifconfig命令修改网卡的地址、状态
ifconfig 命令不仅可以用于查看网卡配置,还可以修改网卡的IP地址、子网掩码,也可以绑定虚拟网络接口、激活或停用网络接口
常用格式
ifconfig 具体网卡名称 #只显示具体网卡的详细信息(无论该网卡是否使用)
ifconfig -a #表示显示所有网卡包括没有启动的网卡
#禁用、激活网络接口
ifconfig 网卡名称 [up|down] /(ifup ens33)(ifdown ens33) #表示开启或关闭网卡
#修改网卡的IP地址、子网掩码
ifconfig 网络接口 ip地址 [netmask 子网掩码] ifconfig 网络接口 ip地址[/子网掩码长度]
ifconfig ens33:0 地址 #表示虚拟网卡
为网卡绑定虚拟接口,在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有的IP地址而导致服务程序不能用。这时可以为网卡绑定一个虚拟网络接口,然后再为虚拟接口设置新的IP地址(相当于一块网卡配多个IP地址)
#关闭ens38 网卡
[root@localhost ~]#ifconfig ens38 down
然后查看网卡信息,就没有ens38网卡信息了
开启
[root@localhost ~]#ifconfig ens38 up
设置临时虚拟网卡
[root@localhost ~]#ifconfig ens38:0 192.168.91.169
[root@localhost ~]#ifconfig ens38:0
ens38:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.91.169 netmask 255.255.255.0 broadcast 192.168.91.255
ether 00:0c:29:ad:3c:4e txqueuelen 1000 (Ethernet)
关闭临时虚拟网卡
[root@localhost ~]#ifconfig ens38:0 down
查看所有网卡信息包括未开启的
[root@localhost ~]#ifconfig -a
网络通讯情况
[root@localhost ~]#ifconfig -s
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33 1500 198897 0 0 0 77405 0 0 0 BMRU
ens38 1500 52 0 0 0 79 0 0 0 BMRU
lo 65536 221 0 0 0 221 0 0 0 LRU
virbr0 1500 0 0 0 0 0 0 0 0 BMU
使用ip/ethtool命令查看网络接口
ip/ethcool与ifconfig命令相同,也是查看网络接口的命令。但与ifconfig相比,ip/ethtool命令的功能更加强大,它不仅仅可以查看网络接口的基本信息,还可以查看更深层的内容,如查看网络接口的数据链路层、网络层信息和网络接口的速率、模式等信息。
常用的命令
ip link:查看网络接口的数据链路层信息
ip address(ip a):查看网络接口的网络层信息
ethtool eth0:查看指定网络接口的速率、模式等信息
hostname
查看或设置当前主机名
hostname [主机名]
临时生效
[root@localhost ~]#hostname xiaobin
#永久生效
通过修改/etc/hostname文件来修改主机名
[root@xiaobin ~]#vim /etc/hostname
通过hostnamectl来修改主机名
[root@xiaobin ~]#hostnamectl set-hostname aixiao
[root@xiaobin ~]#bash
[root@aixiao ~]#vim /etc/hostname
aixiao
~
~
route命令
Linux系统中的路由表决定着从本机向其他主机、其他网络发送数据的去向,是排除网络故障的关键信息,直接执行route命令可以查看当前主机中的路由表信息,在输出结果中,Destination列对应目标网段的地址,Geteway列对应下一跳路由器的地址,Genmask目标网络对应的netmake,Metric列,开销cost,值越小,路由记录的优先级最高,Iface列对应发送数据的网络接口
结合“-n”选项使用的话,可以将路由记录中的地址显示为数字形式,这可以跳过解析主机名的过程,在路由表条目较多的情况下能够加快执行速度。
使用route命令添加、删除静态路由记录
route命令不仅可以用于查看路由表信息,还可用来添加、删除静态的路由表条目,其中当然也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)
添加静态路由
删除静态路由
添加默认路由
删除默认路由
需要注意的是,在同一个主机的路由表中只应有一条默认网关记录。若同时存在多条默认网关记录,可能会导致该主机的网络连接出现故障。
查看网络连接情况netstat
查看系统的网络连接状态、路由表、接口统计等信息,是了解网络状态及排除网络服务故障的有效工具。
netstat选项
-a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口) |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听(Listening)状态的网络连接及端口信息 |
-t | 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 |
-u | 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限) |
[root@aixiao ~]#netstat -anpt |grep ":21"
ss(socket statistics)
格式
ss [选项]
ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。 但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。 ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
-t | tcp协议相关 |
-u | udp协议相关 |
-w | 裸套接字相关 |
-x | unix sock相关 |
-l | listen状态的连接 |
-a | 所有 |
-n | 数字格式 |
-p | 相关的程序及PID |
-e | 扩展的信息 |
-m | 内存用量 |
-o | 计时器信息 |
-r | --resolve 把 IP 解释为域名,把端口号解释为协议名称。 |
域名解析 nslookup
格式 :nslookup 域名
dig 可以显示出更多详细信息
路由跟踪 traceroute
格式:
traceroute IP地址
永久修改网络相关配置文件
[root@aixiao ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
#TYPE:接口类型;常见有的Ethernet, Bridge
#PROXY_METHOD:此配置文件应用到的设备
#BROWSER_ONLY:
#BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
#DEFROUTE:
#IPV4_FAILURE_FATAL:
#IPV6INIT:
#IPV6_AUTOCONF:
#IPV6_DEFROUTE:
#IPV6_FAILURE_FATAL:
#IPV6_ADDR_GEN_MODE:
#NAME:此配置文件应用到的设备
#UUID:设备的惟一标识
#DEVICE:设备名
#ONBOOT:在系统引导时是否激活此设备
#IPADDR::
#NETMASK:
#GATEWAY:
#DNS1:
重要的就是
● DEVLCE:设置网络接口的名称
● ONBOOT:设置网络接口是否在Linux系统自动激活
● BOOTPROTO: 设置网络接口的配置方式,值为“static”时表示使用静态指定的IP地址,为“dhcp”时表示通过DHCP方式动态获取地址
●IPADDR: 设置网络接口的IP地址
●NETMASK:设置网络接口的子网掩码
●GATEWAY: 设置网络接口的默认网关地址
域名解析配置文件
指定为本机提供的DNS解析的服务器地址
/etc/resolv.conf文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效 ,Linux系统最多可以指定3个(第三个以后的将会被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器。
简而言之,/etc/resolv.conf,保存的是你DNS服务器的地址
本地主机映射文件
/etc/hosts文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机信息。当访问一个未知的域名时,先查找该文件中是否有相对应的映射记录,如果找不到再去向DNS服务器查询。
/etc/hosts 文件 保存主机名与IP地址的映射记录
当访问www.baidu.com时,将会直接向IP地址192.168.91.111发送web请求,省略了向DNS服务器解析IP地址的过程
对于经常访问的一些网站,可以通过在/etc/hosts文件添加正确的映射记录,减少DNS查询过程,从而提高上网速度,如果添加错误的映射记录,则可能会导致网站访问出现异常。另外,正因为hosts文件只保存在本地,所以其中的映射记录也只适用当前主机,而无法作用于整个网络
hosts文件和DNS服务器的比较
-
默认情况下,系统首先从 hosts 文件查找解析记录
-
hosts 文件只对当前的主机有效
-
hosts 文件可减少 DNS 查询过程,从而加快访问速度
scp远程同步
语法格式:scp [参数] [文件]
常用参数:
-1 | 使用ssh协议版本1-2 |
-2 | 使用ssh协议版本2 |
-4 | 使用ipv4 |
-6 | 使用ipv6 |
-B | 以批处理模式运行 |
-C | 使用压缩 |
-F | 指定ssh配置文件 |
-l | 指定宽带限制 |
-o | 指定使用的ssh选项 |
-P | 指定远程主机的端口号 |
-p | 保留文件的最后修改时间,最后访问时间和权限模式 |
-q | 不显示复制进度 |
-r | 以递归方式复制 |
从远程复制文件到本地目录:
[root@localhost ~]#scp root@192.168.91.111:/opt/xiaobin.bak /opt/