Linux网络知识---网络配置

前言

云计算定义:用户可以通过网络灵活获取计算机资源池(CPU、内存、存储、带宽等)中的资源,并且具有按量计费和弹性伸缩的特性。从云计算的定义中我们可以看出,云计算服务的提供离不开网络的加持,熟练掌握Linux网络知识也是尤为重要的,所以这段时间小编主要给大家带来Linux网络相关知识。

一、查看网络配置

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

ifconfig 命令 ###使用该命令需要先安装net-tools网络管理工具

示例:

[root@node2 ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500                #物理网卡信息
        inet 10.0.0.60  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::3008:8d84:4fb8:cdf6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:53:ec:8c  txqueuelen 1000  (Ethernet)
        RX packets 803702  bytes 1112601577 (1.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 202065  bytes 27785465 (26.4 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 3229  bytes 291042 (284.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3229  bytes 291042 (284.2 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:4e:d7:c8  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

1.2查看指定网络接口信息

ifconfig 网络接口

示例:

[root@node2 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.60  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::3008:8d84:4fb8:cdf6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:53:ec:8c  txqueuelen 1000  (Ethernet)
        RX packets 804380  bytes 1113242316 (1.0 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 202552  bytes 27827710 (26.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

在这里插入图片描述

1.3常见的几种网络接口

  • ens33:物理网卡
  • loopback(lo):回环网卡,测试TCP/IP协议是否正常,能ping通127.0.0.0/24网段的IP地址代表TCP/IP协议能够使用,才能实现网络通信
  • virbr0:虚拟的桥接网卡

补充知识:虚拟机与宿主机的三种网络连接模式

  • VMnet0:桥接模式,把虚拟机直接暴露在局域网环境下,可以直接被访问
  • VMnet1:仅主机模式,把虚拟机之间构建成局域网,只能宿主机和虚拟机通信,无法与外部通信
  • VMnet8:NAT模式,把虚拟机连接到类似三层交换的虚拟网卡上,不仅可以内部通信还可以与外部通信。

1.4查看主机名称

  • hostname 命令—查看或设置当前主机名
  • hostname 主机名 ##临时修改主机名
  • hostnamectl set-hostname 主机名 ##永久修改主机名
    注意:本处永久修改主机名是通过命令修改的,但其实在Linux系统中临时修改大部分都是通过命令
    实现的,而永久修改则是修改配置文件实现。

1.5查看路由表条目

route命令 加上-n,内容不变,但都以数字形式显示

示例:

[root@node2 ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@node2 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG    100    0        0 ens33
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

1.6查看网络连接情况

netstat命令—查看系统的网络连接状态、路由表、接口统计等信息
-a 显示所有接口信息,包含已连接和未连接正在监听的
-n 代表以数字形式进行显示
-p 显示进程号pid
-t 查看TCP协议已连接的信息
-u 查看UDP协议已连接的信息
-r 查看路由表
常用-ntap:以数字形式显示当前系统中所有的TCP连接信息,同时显示进程信息;
-nuap:以数字形式显示当前系统中所有的UDP连接信息,同时显示进程信息;
结合grep命令可以过滤出所需要的特定网络连接信息

示例:

[root@node2 ~]# netstat -napt
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:9100            0.0.0.0:*               LISTEN      77600/grunt         
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1454/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1146/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1148/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1413/master         
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      84617/sshd: root@pt 
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      88972/sshd: root@pt 
tcp        0      0 10.0.0.60:22            10.0.0.1:56839          ESTABLISHED 84617/sshd: root@pt 
tcp        0      0 10.0.0.60:22            10.0.0.1:54786          ESTABLISHED 88972/sshd: root@pt 
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::22                   :::*                    LISTEN      1146/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1148/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1413/master         
tcp6       0      0 ::1:6010                :::*                    LISTEN      84617/sshd: root@pt 
tcp6       0      0 ::1:6011                :::*                    LISTEN      88972/sshd: root@pt 

在这里插入图片描述

[root@node2 ~]# netstat -anpt | grep sshd     ####过滤出sshd服务的网络信息
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1146/sshd           
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      84617/sshd: root@pt 
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      88972/sshd: root@pt 
tcp        0      0 10.0.0.60:22            10.0.0.1:56839          ESTABLISHED 84617/sshd: root@pt 
tcp        0     52 10.0.0.60:22            10.0.0.1:54786          ESTABLISHED 88972/sshd: root@pt 
tcp6       0      0 :::22                   :::*                    LISTEN      1146/sshd           
tcp6       0      0 ::1:6010                :::*                    LISTEN      84617/sshd: root@pt 
tcp6       0      0 ::1:6011                :::*                    LISTEN      88972/sshd: root@pt 

1.7查看系统的网络连接情况,获取socket统计信息

ss 【选项】
-t TCP连接的信息
-u UDP连接的信息
-l 查看监听状态的信息
-p 显示进程号
-a 显示所有的网络连接信息
-n 将服务名称改为端口号
-r 以服务名称显示(默认就是显示服务名称,和-n相对)

示例:

[root@node2 ~]# ss -anpt        #以端口号显示所有TCP连接的信息,同时显示进程号
State      Recv-Q Send-Q                                Local Address:Port                                               Peer Address:Port              
LISTEN     0      128                                               *:9100                                                          *:*                   users:(("grunt",pid=77600,fd=12))
LISTEN     0      128                                               *:111                                                           *:*                   users:(("systemd",pid=1,fd=33))
LISTEN     0      5                                     192.168.122.1:53                                                            *:*                   users:(("dnsmasq",pid=1454,fd=6))
LISTEN     0      128                                               *:22                                                            *:*                   users:(("sshd",pid=1146,fd=3))
LISTEN     0      128                                       127.0.0.1:631                                                           *:*                   users:(("cupsd",pid=1148,fd=12))
LISTEN     0      100                                       127.0.0.1:25                                                            *:*                   users:(("master",pid=1413,fd=13))
LISTEN     0      128                                       127.0.0.1:6010                                                          *:*                   users:(("sshd",pid=84617,fd=9))
LISTEN     0      128                                       127.0.0.1:6011                                                          *:*                   users:(("sshd",pid=88972,fd=9))
ESTAB      0      0                                         10.0.0.60:22                                                     10.0.0.1:56839               users:(("sshd",pid=84617,fd=3))
ESTAB      0      0                                         10.0.0.60:22                                                     10.0.0.1:54786       

注意:
netstat和ss命令的应用场景:
并发连接一万以内的使用netstat;高并发连接,超过一万的使用ss,因为它能获得第一手socket统计信息。

二、测试网络是否连接

2.1ping命令–测试网络连通性

ping 【选项】目标主机
[root@node2 ~]# ping www.baidu.com 
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=128 time=6.81 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3 ttl=128 time=6.75 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=4 ttl=128 time=6.39 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=5 ttl=128 time=9.28 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=6 ttl=128 time=6.35 ms
^C                                                             #Ctrl+C 终止退出
--- www.a.shifen.com ping statistics ---
6 packets transmitted, 5 received, 16% packet loss, time 5009ms
rtt min/avg/max/mdev = 6.358/7.122/9.287/1.102 ms

在这里插入图片描述

2.2ping不通的两种情况

  • 连接超时:可能对方防火墙打开,导致数据有去无回
  • 无法访问目标主机:数据无法到达目标主机,可以查看网关配置是否正确

三、跟踪数据包

traceroute命令—测试从当前主机到目的主机之间经过的网络节点

traceroute 目标主机地址

注意

  • 此命令是追踪数据包的流向,一般在局域网使用,到达广域网上可能会被屏蔽(因为做了NAT地址转换,结果会以“*”显示)
  • 追踪到的第一个网络节点是网关。
[root@node2 ~]# traceroute www.baidu.com
traceroute to www.baidu.com (180.101.49.12), 30 hops max, 60 byte packets
 1  gateway (10.0.0.254)  0.118 ms  0.059 ms  0.089 ms
 2  * * *
 3  * * *             #追踪到的第一个节点时网关,到达广播域被屏蔽,所以显示为‘*4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *^C^C

四、域名解析

nslookup命令—测试DNS域名解析

nslookup 目标主机地址 【DNS服务器地址】

注意:需要先使用yum安装bind-utils命令,否则无法使用nslookup命令

[root@node2 ~]# nslookup www.baidu.com
Server:		114.114.114.114                       
Address:	114.114.114.114#53                     #提供DNS服务的地址

Non-authoritative answer:
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 180.101.49.11                             #解析出来的地址
Name:	www.a.shifen.com
Address: 180.101.49.12

补充内容:dig命令同样可以测试DNS域名解析,并且比nslookup命令解析域名信息更加详细
dns服务的端口号为53(TCP端口的53,用于安全连接;UDP端口的53,用于域名解析)

[root@node2 ~]# dig www.baidu.com

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3457
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		780	IN	CNAME	www.a.shifen.com.    #www.baidu.com是www.a.shifen.com的别名
www.a.shifen.com.	226	IN	A	180.101.49.12
www.a.shifen.com.	226	IN	A	180.101.49.11

;; Query time: 4 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)  #DNS服务的端口号为53 (TCP端口的53,用于安全连接;UDP端口的53,用于域名解析)
;; WHEN:1223 15:22:49 CST 2020
;; MSG SIZE  rcvd: 101

配置DNS的三种方式:

[root@node2 ~]# vim /etc/resolv.conf 

# Generated by NetworkManager
nameserver 114.114.114.114
##修改/etc/resolv.conf配置文件,nameserver  域名IP (dns服务地址可以用网关地址充当)
[root@node2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=10.0.0.60
GATEWAY=10.0.0.254
NETMASK=255.255.255.0
DNS=10.0.0.1
DNS1=114.114.114.114          #添加DNS字段
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=96044822-bd06-4126-b107-cb87a0f94638
DEVICE=ens33
ONBOOT=yes
 
#直接配置本地解析 
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.60 www.baidu.com

五、设置网络参数

5.1临时配置–使用命令调整网络参数

  • 简单,快速,可直接修改运行中的网络参数
  • 一般只适合在调试网络的过程中使用
  • 系统重启以后,所做的修改将会直接失效

5.2固定设置–通过配置文件修改网络参数

  • 修改各项网络参数的配置文件
  • 适合对服务器设置固定参数时使用
  • 需要重载网络服务或者重启以后才会生效

5.3设置网络接口参数ifconfig

  • 设置网络接口的IP地址、子网掩码
ifconfig 网络接口 ip地址 netmask 子网掩码
ifconfig 网络接口 ip地址/子网掩码
  • 禁用或者重新激活网卡
ifconfig 网络接口 up
ifconfig 网络接口 down
  • 设置虚拟网络接口
ifconfig 网络接口:序号 IP地址

注意:一旦物理网卡down了,虚拟接口也会down掉

5.4设置路由记录route

  • 添加到指定网段的路由记录
route add -net 网段地址 gw IP地址
[root@node2 ~]# route add -net 192.168.122.0/24 gw 10.0.0.254 #将192.168.122.0/24网段添加到路由表
[root@node2 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG    100    0        0 ens33
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   10.0.0.254      255.255.255.0   UG    0      0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

  • 删除到指定网段的路由记录
route del -net 网段地址
[root@node2 ~]# route del -net 192.168.122.0/24
[root@node2 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG    100    0        0 ens33
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

  • 向路由表中添加默认网关记录
route add default gw IP地址
[root@node2 ~]# route add -net default gw 10.0.0.254
[root@node2 ~]# route -n 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG    0      0        0 ens33
0.0.0.0         10.0.0.254      0.0.0.0         UG    100    0        0 ens33
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
  • 删除路由表中默认的网关记录
route del default gw IP地址
[root@node2 ~]# route del -net default gw 10.0.0.254
[root@node2 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.254      0.0.0.0         UG    100    0        0 ens33
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

5.5网络接口配置文件

在/etc/sysconfig/network-scripts/目录下
ifcfg-ens33:第1块以太网卡的配置文件

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

重启network网络服务
systemctl restart network ##生产环境一般不这么干
禁用、启用网络接口
ifdown ens33;ifup ens33
注意
systemctl的方式是同时对所有网卡进行管理;ifup/ifdown是对单个网卡进行管理

5.7域名解析配置文件

/etc/resolv.conf文件
保存本机需要使用的DNS服务器的IP地址

5.8本地主机映射文件

/etc/hosts文件—保存主机名与IP地址的映射记录
hosts文件和DNS服务器的比较

  • 默认情况下,系统首先从hosts文件查找解析记录,没有记录再DNS服务解析
  • hosts文件只对当前的主机有效
  • hosts文件可减少DNS查询过程,从而加快访问速度

注意
在hosts文件里添加某个域名的假IP地址,相当于屏蔽了这个域名。(因为系统首先是从hosts文件里查找解析记录)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值