Bootstrap

Linux网络设置

一、查看网络配置

1.1 查看网络接口信息—ifconfig

  • 查看所有活动的网络接口信息
    • 执行ifconfig
  • 查看指定网络接口信息
ifconfig  网络接口
1.1.1 实例
[root@localhost ~]# ifconfig ens33
ens33  flags=4163<UPBROADCAST,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)
//省略部分内容

1.2 ifconfig命令

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 	#网络通讯情况

1.3 WINDOWS查看MTU

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.4 虚拟网卡

网卡的功能:

1、DHCP功能

2、DNS功能(客户端)

3、流量控制 Qos MTU

4、arp缓存表

5、MAC地址表

1.5 本地MTU值

不恰当的本地MTU值
当本地MTU值  > 网络MTU值时,需要拆包,会导致效率下降
当本地MTU值 < 网络MTU值时,未发挥最大传输能力

理想的本地MTU值
本地MTU值=网络MTU值
而一般以太网MTU都为1500,所以在以太网中,往往TCP MSS为1460

1.6 启用、禁用网络接口配置

(一)、重启、禁用网卡
systemctl restart network		#重启所有的网卡
ifdown ens33 ; ifup ens33
ifdown ens33					#关闭某个网卡
ifup ens33						#启动某个网卡
ifconfig ens33 down				#临时禁用某个网卡
ifconfig ens33 up				#重新激活某个网卡(不会更新IP地址)
ifconfig 设备名称  IP地址/子网掩码[255.255.255.0]

1.7 查看主机名称—hostname

(一)、hostname命令
1、查看或临时设置当前主机名
hostname   [主机名]
2、永久设置主机名
hostnamectl  set-hostname [主机名]
vim /etc/hostname		#只有第一行有效
vi  hostname			#设置完后需重启系统才生效

1.8 查看路由表条目—route

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

1.9 查看网络连接情况netstat(及端口扫描)

  • netstat [-natp]
    • netstat -natp(只看TCP协议的)
    • netstat -antp | grep 端囗号
    • netstat -anultp 除了路由表信息,其他全查询

1.10 netstat命令常用选项

-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息
-t:查看TCP(Transmission ControlProtoco,传输控制协议)相关的信息
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)

1.11 获取 socket 统计信息------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软件包的一部分,默认已经安装。

1.12 ss常用选项

常用选项  作用
-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的端口

1.13 与netstat比较

  • ss可以查看网络连接信息

  • 与netstat不同的点在于ss主要向socket获取统计信息

  • ss可以查看内存

  • 2调命令均可查看pid和程序/进程名

1.14 lsof

  • Isof(List Open Files)是一个用于列出系统中打开文件的命令行工具
  • 它可以显示当前系统中打开的文件、目录、套接字、管道等资源,以及与它们相关联的进程信息。

1.15 常用的 lsof 命令选项和用法包括

列出所有打开的文件和网络连接: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:文件系统挂载点名称
1.15.1 实例
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

1.16 总结

netstat
TCP/UDP的网络连接状态
监听IP和端口		连接状态		PID/任务名字command

ss:
内存、socket	信息

lsof 全面
1、网络连接
2、打开文件
3、查看进程占用
4、根据pid查询
5、查看端口

二、测试网络连接

2.1 测试网络连接—ping

  • 测试网络连通性
ping [选项] 目标主机
2.1.1 实例
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

2.2 ping常用命令

pingping  -c  5  www.baiducom 		#ping5次百度自动退出,c次数,最常用的方式
-c:发送包的个数
-i:发送包的间隔时间
-W:超时时间
-w:多少秒后停止 ping 命令操作

2.3 跟踪数据包------traceroute

  • 测试从当前主机到目的主机之间经过的网络节点
traceroute 目标主机地址
2.3.1 实例
[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

2.4 域名解析------nslookup

2.4.1 测试DNS域名解析
nslookup	目标主机地址	[DNS服务器地址]
2.4.2 实例
[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

三、设置地址参数

3.1 设置网络接口参数 —ifconfig

  • 临时配置 —使用命令调整网络参数
    • 简单、快速,可直接修改运行中的网络参数
    • 一般只适合在调试网络的过程中使用
    • 系统重启以后,所做的修改将会失效
  • 固定设置 —通过配置文件修改网络参数
    • 修改各项网络参数的配置文件
    • 适合对服务器设置固定参数时使用
    • 需要重载网络服务或者重启以后才会生效

3.2 设置路有记录—route

添加到指定网段的路由记录
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

3.3 配置文件存在位置

3.3.1 配置ens33网卡
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地址
3.3.2 配置DNS域名解析服务器
修改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域名解析,在配置地址参数中具体讲述了各个参数如何配置以及需要注意的地方,比较合理有用。

;