第十二章、Linux网络设置

第十二章、Linux网络设置

1、查看所有活动的网络接口信息

1.1 执行ifconfig命令
[root@xiaolei ~]# yum install -y net-tools
安装后可以执行ifconfig命令

2、查看指定网络接口信息

2.1 ifconfig +网络接口

示例:

[root@xiaolei ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 20.0.0.51  netmask 255.0.0.0  broadcast 20.255.255.255
        inet6 fe80::306:ad64:135e:2ecd  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:3c:15:98  txqueuelen 1000  (Ethernet)
        RX packets 508878  bytes 553830715 (528.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 246233  bytes 15425972 (14.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.1.1 mtu:网络最大传输单元

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

②理想的本地MTU值
本地MTU值=网络MTU值

③而一般以太网MTU都为1500,所以在以太网中,往往TCP MSS为1460。

2.1.2 inet:ip地址

2.1.3 netmask:子网掩码

2.1.4broadcast:广播号

2.2 ifconfig常用选项
选项说明
ifconfig +网卡名称只显示具体网卡的详细信息(无论该网卡是否使用)
ifconfig -a显示所有网卡,包括没有启动的网卡
ifconfig +网卡名称 +up/dowm开启或关闭网卡
ifconfig +网卡名称 +IP地址+子网掩码(/子网掩码长度)添加虚拟网卡
ifconfig ens33:0+ip地址表示虚拟网卡
ifconfig ens33:0 +up/dowm开启或关闭虚拟网卡
ifconfig -s网络通讯情况
2.3 示例:
[root@xiaolei ~]# ifconfig -s
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500   546914      0      0 0        266710      0      0      0 BMRU
lo              65536        0      0      0 0             0      0      0      0 LRU

3、查看主机名称

3.1 hostname命令

3.1.1 查看或临时设置当前主机名——hostname +主机名

3.2 永久设置主机名

3.2.1 hostnamectl set-hostname +主机名

3.2.2 vi +hostname——设置完需要重启系统才生效

3.2.3 示例:

[root@xiaolei ~]# hostnamectl set-hostname xiaowang
[root@xiaolei ~]# su                                       ###刷新
[root@xiaowang ~]#

4、查看路由表条目

4.1 route命令

4.1.1 route -n——查看或设置主机中路由表信息

4.1.2 ip routing-table

4.2 示例:
[root@xiaolei ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         20.0.0.2        0.0.0.0         UG    100    0        0 ens33
20.0.0.0        0.0.0.0         255.0.0.0       U     100    0        0 ens33

5、查看网络连接情况——netstat(即端口扫描)

5.1 netstat

5.1.1 netstat -natp

5.1.2 netstat -natp | grep +端口号

5.2 常用选项
选项说明
netstat -a显示主机中所有活动的网络连接信息(包括监听、、非监听状态的服务端口)
netstat -n以数字的形式显示相关的主机地址、端口等信息
netstat -r显示路由表信息
netstat -l显示处于监听(Listening)状态的网络连接及端口信息
netstat -t查看TCP(Transmission Control Protocol,传输控制协议)协议相关的信息
netstat -u显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
netstat -p显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
5.3 示例:
[root@xiaolei ~]# netstat -natp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1004/sshd  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1228/master
tcp        0      0 20.0.0.51:22            20.0.0.1:62279          ESTABLISHED 3807/sshd: root@not
tcp        0     48 20.0.0.51:22            20.0.0.1:62273          ESTABLISHED 3803/sshd: root@pts
tcp        0      0 20.0.0.51:22            20.0.0.1:60025          ESTABLISHED 1542/sshd: root@pts
tcp6       0      0 :::22                   :::*                    LISTEN      1004/sshd  
tcp6       0      0 ::1:25                  :::*                    LISTEN      1228/master
[root@xiaolei ~]# netstat -natp | grep 80
tcp        0      0 20.0.0.51:22            20.0.0.1:62279          ESTABLISHED 3807/sshd: root@not
tcp        0     48 20.0.0.51:22            20.0.0.1:62273          ESTABLISHED 3803/sshd: root@pts

6、获取socket统计信息——ss

6.1 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软件包的一部分,默认已经安装。

6.2 ss常用选项
选项说明
ss -ttcp协议相关
ss -uudp协议相关
ss -w罗套接字相关
ss -xunix sock相关
ss -llisten状态的连接
ss -a所有
ss -n数字格式
ss -p相关的程序即PID
ss -e扩展的信息
☆ss -m内存用量
ss -o计时器信息
ss -rresolove把ip解释为协议名称
6.3 ss -nltp | grep 22——查看tcp的所有包含的22端口
6.4 ss命令总结

6.4.1 ss可以查看网络连接信息
6.4.2 与netstat不同的点在于ss主要向socket获取统计信息
6.4.3 ss可以查询内存
6.4.4 2条命令均可查看pid和进程/进程名

6.5 tcp和tcp6协议

tcp是ipv4,tcp6是ipv6

6.6 LISTEN

6.6.1 “LISTEN” 是指在网络通信中等待连接的 TCP 端口的状态之一。
当一个主机上的应用程序在指定的端口上开始监听连接请求时,它进入 “LISTEN” 状态,表示正在等待其他主机建立连接。

6.6.2 “ESTABLISHED” 是指在网络通信中建立的 TCP 连接的状态之一。它表示当前的 TCP 连接已成功建立并且正在进行数据传输。
已连接(已建立三次握手) TIME_OUT

7、netstat与ss比较

可以使用time命令来比较

[root@xiaolei ~]# time netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0      0 20.0.0.51:22            20.0.0.1:62279          ESTABLISHED
tcp        0     48 20.0.0.51:22            20.0.0.1:62273          ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN

real    0m0.002s
user    0m0.002s
sys     0m0.000s
[root@xiaolei ~]# time ss -ant
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port       
LISTEN      0      128           *:22                        *:*
LISTEN      0      100    127.0.0.1:25                        *:*
ESTAB       0      0      20.0.0.51:22                 20.0.0.1:62279
ESTAB       0      0      20.0.0.51:22                 20.0.0.1:62273
LISTEN      0      128        [::]:22                     [::]:*
LISTEN      0      100       [::1]:25                     [::]:*

real    0m0.029s
user    0m0.001s
sys     0m0.003s
7.1 性能

ss命令通常比 netstat 更快,因为它直接从内核获取套接字信息,而不需要解析 /proc 文件系统。

7.2 详细程度

ss 命令提供了更多的输出选项和更详细的输出结果,例如可以显示套接字的定时器信息、内存使用情况等。

7.3 兼容性

netstat 在较早的 Linux 发行版中可用,而 ss 可能在某些旧版本中不可用。然而,现代 Linux 发行版通常都包含这两个命令。

总之,ss 命令在很多方面优于 netstat,尤其是在性能和详细程度上。如果您的 Linux 系统支持 ss 命令,建议优先使用它。如果 ss 不可用,可以使用 netstat 作为替代方案。

8、lsof命令

[root@xiaolei ~]# lsof
COMMAND    PID  TID    USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
systemd      1         root  cwd       DIR              253,0       235         64 /
systemd      1         root  rtd       DIR              253,0       235         64 /
systemd      1         root  txt       REG              253,0   1632776   34029663 
8.1 各字段解释

字段一:COMMAND——进程名

字段二:PID——进程ID

字段三:TID——线程ID

字段四:USER——所属用户

字段五:FD——文件描述符。可能的值为“cwd ,当前工作目录”,“rtd ,root目录”,“txt,txt文件”,“mem,内存映射文件”,“err,文件描述符信息错误”,“jld,jail 目录(FreeBSD)”,
“Lnn,库文件相关(AIX)”,“Mxx,十六进制内存映射类型值”,“m86,DOS合并映射文件”,
“mmap,内存映射设备”,“pd,父目录”,“v86,vp/ix 映射文件”,“-,未知的或者被锁定的符号”,
“tr,内核跟踪文件(OpenBSD)”

字段六:TYPE——与文件关联的node类型。可能的值为“DIR,目录”,“REG,普通文件”,“CHR,字符”,“FIFO,管道通讯特殊文件”,“LINK,符号链接文件”,“unix,UNIX域socket文件”,“inet,互利联网域套接字文件”,“IPv4,IPv4套接字文件”,“IPv6,IPv6套接字文件”,“DEL,被删除的文件的linux映射文件”,“DOOR,VDOOR文件”,“KQUEUE,BSD类型内核事件队列文件”等等。

字段七:DEVICE——设备编号,用逗号分割,用于特殊字符、特殊块、常规文件、目录和NFS文件

字段八:SIZE/OFF——文件大小以及文件偏移量

字段九:NODE——本地文件node编号

字段十:NAME——文件系统挂载点名称

8.2 常用选项
选项说明
lsof -i只显示网络连接信息
lsof -P强制显示端口号
lsof -a进行与查询条件的逻辑与操作
lsof -p+pid指定要查询的进程ID
8.3 示例
[root@xiaolei ~]# lsof -i
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    1004 root    3u  IPv4  19329      0t0  TCP *:ssh (LISTEN)
sshd    1004 root    4u  IPv6  21810      0t0  TCP *:ssh (LISTEN)
master  1228 root   13u  IPv4  24607      0t0  TCP localhost:smtp (LISTEN)
master  1228 root   14u  IPv6  24608      0t0  TCP localhost:smtp (LISTEN)
sshd    3803 root    3u  IPv4  32795      0t0  TCP xiaolei:ssh->20.0.0.1:62273 (ESTABLISHED)
sshd    3807 root    3u  IPv4  32013      0t0  TCP xiaolei:ssh->20.0.0.1:62279 (ESTABLISHED)

9、ping命令——测试网络连通性

9.1 基本格式

ping +选项+目标主机

9.2 常用选项
选项说明
ping -c发送包的个数,最常用的方式
ping -i发送包的间隔时间
ping -W超市时间
ping -w多少秒后停止ping命令操作
9.3 示例:
[root@xiaolei ~]# ping -c5 www.baidu.com
PING www.a.shifen.com (180.101.50.242) 56(84) bytes of data.
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=1 ttl=128 time=6.99 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=2 ttl=128 time=5.51 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=3 ttl=128 time=9.69 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=4 ttl=128 time=55.6 ms
64 bytes from 180.101.50.242 (180.101.50.242): icmp_seq=5 ttl=128 time=6.19 ms

--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4023ms
rtt min/avg/max/mdev = 5.511/16.802/55.624/19.463 ms

10、跟踪数据包的路由途径——traceroute

10.1 概述:

traceroute 是一个在 Linux 系统中用于诊断网络连接问题的命令行工具。它通过发送一系列带有递增 TTL(Time to Live)值的 ICMP Echo 请求报文(也称为 UDP 数据报文)来追踪数据包从源主机到目标主机之间经过的路由节点。每个路由器在接收到数据包时,会将 TTL 值减一,当 TTL 值减至 0 时,路由器会丢弃该数据包并向源主机发送一个 ICMP Time Exceeded 消息。通过分析这些消息,traceroute 可以确定数据包在到达目标主机之前经过的路由节点。

10.2 测试从当前主机到目的主机经过的网络节点(L3三层设备)
10.3 基本格式:traceroute +目标主机地址
[root@xiaolei ~]# traceroute www.baidu.com
traceroute to www.baidu.com (180.101.50.188), 30 hops max, 60 byte packets
 1  gateway (20.0.0.2)  0.061 ms  0.046 ms  0.047 ms
 2  * * *
 3  * * *
…………省略…………
29  * * *
30  * * *
                          ###可以看到数据包从源主机到目标主机经过的路由节点及其延迟时间
10.4 常用选项
选项说明
traceroute -l使用 ICMP Echo 请求报文代替 UDP 数据报文
traceroute -T使用 TCP SYN 报文代替 UDP 数据报文
traceroute -w设置等待每个响应的最大时间(以秒为单位)
traceroute -q设置每个 TTL 值发送的报文数量
10.5 补充:wireshark、tcpdump也可以检测网络状态

11、测试DNS域名解析——nslookup

11.1 概述:

nslookup 是一个在 Linux 系统中用于查询 DNS(Domain Name System,域名系统)记录的命令行工具。它允许用户查询域名对应的 IP 地址、IP 地址对应的域名、MX 记录、NS 记录等 DNS 信息。nslookup 可以帮助用户诊断域名解析问题,验证 DNS 配置,以及获取有关域名的其他相关信息

11.2 基本格式:

nslookup +目标主机地址

11.3 示例:
C:\Users\22702>nslookup www.baidu.com
服务器:  public1.114dns.com
Address:  114.114.114.114

非权威应答:
名称:    www.a.shifen.com
Addresses:  240e:e9:6002:15c:0:ff:b015:146f
          240e:e9:6002:15a:0:ff:b05c:1278
          180.101.50.188
          180.101.50.242
Aliases:  www.baidu.com

12、设置网络接口参数——ifconfig

12.1 配置文件所在位置—— vi /etc/sysconfig/network-scripts/ifcfg-ens33
[root@xiaolei ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet                       ###设置网卡类型,Ethernet表示以太网
PROXY_METHOD=none                   ###
BROWSER_ONLY=no
BOOTPROTO=static                    ###设置网卡的配置方式,"static”表示使用静态IP地                                        址,“dhcp”时表示动态获取地址
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=87792be4-142b-4937-bbab-85c4c47bfb93
DEVICE=ens33                        ###设置网卡名称          
ONBOOT=yes                          ###设置网卡是否在Linux操作系统启动时激活
IPADDR=20.0.0.51                    ###设置网卡的IP地址
GATEWAY=20.0.0.2                    ###设置网卡的默认网关地址
NTEMASK=255.255.255.0               ###设置网卡的子网掩码
DNS1=114.114.114.114                ###设置DNS服务器的IP地址

13、 配置DNS域名解析服务器

13.1修改DNS域名解析配置文件——vi /etc/resolv.conf
13.2配置文件解析——nameserver 192.168.233.21

###nameserver表示DNS服务器名称,8.8.8.8表示DNS解析服务器地址

13.3修改完需要重启网卡服务——systemctl restart network
[root@xiaolei ~]# vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
[root@xiaolei ~]# systemctl restart network

14、域名解析配置文件

14.1 /etc/resolv.conf,保存的是你DNS服务器的地址
14.2 /etc/hosts 文件,保存主机名与IP地址的映射记录
[root@xiaolei ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

15、设置路由记录——route

15.1 添加到指定网段的路由记录——route add -net +网段地址 +gw +指定出去接口

route add -net 192.168.14.0/24 gw 192.168.233.21 devens33
添加一个静态路由,将目标网络地址192.168.14.0/24通过网关192.168.233.21发送到网卡ens33。这个命令会告诉操作系统在发送到目标网络192.168.14.0/24的数据包时,应该通过指定的网关192.168.233.21进行中转,并通过网卡ens33进行发送

15.2 删除到指定网段的路由记录——route del -net +网段地址
15.3 向路由表中添加默认网关记录——route add default +gw +ip地址
15.4 删除路由表中默认的网关记录——route del default +gw +ip地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值