ifconfig 网络接口
[root@localhost ~]# ifconfig ens33
ens33 flags=4163 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)
//省略部分内容
ifconfig 具体网卡名称 #只显示具体网卡的详细信息(无论该网卡是否使用)
ifconfig -a #表示显示所有网卡包括没有启动的网卡
ifconfig 网卡名称 [up|down] #表示开启或关闭网卡
ifconfig 网络接囗 ip地址 [netmask 子网掩码]
ifconfig 网络接口 ip地址 [/子网掩码长度]
ifconfig ens33:0 地址 #表示虚拟网卡
关闭虚拟网卡使用
ifconfig ens33:0 down
开启
ifconfig ens33:0 up
[root@localhost ~]#ifconfig -s #网络通讯情况
netsh interface ipv4 show subinterfaces
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=20.0.0.10
NETMASK=255.255.255.0
GATEWAY=20.0.0.2
DNS1=20.0.0.2
MTU="9000" #加上这一段
mtu是最大传输单元
网卡的功能:
1、DHCP功能
2、DNS功能(客户端)
3、流量控制 Qos MTU
4、arp缓存表
5、MAC地址表
不恰当的本地MTU值
当本地MTU值 > 网络MTU值时,需要拆包,会导致效率下降
当本地MTU值 < 网络MTU值时,未发挥最大传输能力
理想的本地MTU值
本地MTU值=网络MTU值
而一般以太网MTU都为1500,所以在以太网中,往往TCP MSS为1460
(一)、重启、禁用网卡
systemctl restart network #重启所有的网卡
ifdown ens33 ; ifup ens33
ifdown ens33 #关闭某个网卡
ifup ens33 #启动某个网卡
ifconfig ens33 down #临时禁用某个网卡
ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)
ifconfig 设备名称 IP地址/子网掩码[255.255.255.0]
(一)、hostname命令
1、查看或临时设置当前主机名
hostname [主机名]
2、永久设置主机名
hostnamectl set-hostname [主机名]
vim /etc/hostname #只有第一行有效
vi hostname #设置完后需重启系统才生效
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
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息
-t:查看TCP(Transmission ControlProtoco,传输控制协议)相关的信息
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
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解释为域名,把端口号解释为协议名称
ss -nltp | grep 22 查看tcp的所有包含22的端口
ss可以查看网络连接信息
与netstat不同的点在于ss主要向socket获取统计信息
ss可以查看内存
2调命令均可查看pid和程序/进程名
列出所有打开的文件和网络连接:lsof
列出指定进程ID(PID)打开的文件和网络连接:Isof -p < PID >
列出指定用户打开的文件和网络连接:lsof -u oot
列出指定端口被哪些进程占用:lsof -i :22
以监听模式查看网络连接:lsof -i -sTCP:LISTEN
列出指定命令打开的文件:lsof -c ssh
lsof -i -a -p < PID >
在命令中,-i 参数表示只显示网络连接信息,-a参数表示进行与查询条件的逻辑与操作,-p 参数表示指定要查询的进程ID。
输出结果简要说明:
COMMAND:进程名
PID:进程ID
TYPE:与文件关联的node类型。可能的值为“DIR 目录”,“REG 普通文件”,“CHR 字符”,"FIFO 管道通讯特殊文件”,”LINK符号链接文件“,"unix UNIX域socket文件”,"inet 互利联网域套接字文件","IPv4 IPv4套接字文件",“IPv6 IPv6套接字文件”,"DEL被删除的文件的inux映射文件”,"DOOR VDOOR文件”,,“KQUEUE BSD类型内核事件队列文件”等等。
DEVICE:设备编号,用逗号分割,用于特殊字符、特殊块、常规文件、目录和NFS文件
SIZE/OFF:文件大小以及文件偏移量
NODE:本地文件node编号
NAME:文件系统挂载点名称
root@test1 opt]# lsof-P -a -p 1026
COMMAND PID USERFD FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1026 root 3u IPv4 22913 0t0 TCP *:22 (LISTEN)
sshd 1026 root 4u IPv6 22915 0t0 TCP *:22 (LISTEN)
-i:参数表示只显示网络连接信息i
-P:强制显示端口号
-a:参数表示进行与查询条件的逻辑与操作
-p:参数表示指定要查询的进程ID
netstat
TCP/UDP的网络连接状态
监听IP和端口 连接状态 PID/任务名字command
ss:
内存、socket 信息
lsof 全面
1、网络连接
2、打开文件
3、查看进程占用
4、根据pid查询
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 #按Ctrl+C中止测试
^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
pingping -c 5 www.baiducom #ping5次百度自动退出,c次数,最常用的方式
-c:发送包的个数
-i:发送包的间隔时间
-W:超时时间
-w:多少秒后停止 ping 命令操作
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
nslookup 目标主机地址 [DNS服务器地址]
[root@192 ~]# nslookup www.google.com
Server:202.106.0.20 ---服务器的dns地址
Address:202.106.0.20#53 ---53端口号
Non-authoritative answer:
Name:www.l.google.com
Address: 173.194.127.51
添加到指定网段的路由记录
route add -net 网段地址 gw IP地址
route add -net 192.168.100.0/24 gw 192.168.100.10 dev ens33
删除到指定网段的路由记录
route del -net 网段地址
route del -net 192.168.100.10/24
向路由表中添加默认网关记录
route add default gw IP地址
删除路由表中默认的网关记录
route del default gw IP地址
永久添加路由(重启network服务生效)
vim /etc/sysconfig/static-route
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #设置网卡类型,“Etheret”表示以太网
DEVICE=ens33 #设置网卡的名称
ONBOOT=yes #设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=static #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
PADDR=192.168.80.3 #设置网卡的 IP 地址
NETMASK=255.255.255.0 #设置网卡的子网掩码
GATEWAY=192.168.80.2 #设置网卡的默认网关地址
DNS1=192.168.80.2 #设置DNS服务器的 IP地址
修改DNS域名解析配置文件:vim /etc/resolv.conf
配置文件解析:
nameserer 192.168.233.21
#nameserver表示DNS服务器名称 8.8.8.8 表示DNS解析服务器地址
修改完成后需要重启网卡服务:systemctl restart network
查看网络配置的几个命令又ifconfig、hostname、route、netstat、ss,可以查看网卡,路由表还有统计信息,可以直接指定查询需要的指令
测试网络连通性可以用ping、traceroute、nslookup、dig等命令实现,可以跟踪数据包,也可以用nslookup域名解析,在配置地址参数中具体讲述了各个参数如何配置以及需要注意的地方,比较合理有用。