Linux-网络设置(查看网络配置、测试网络连接、使用网络配置命令与修改网络配置文件)(复习)


一、查看网络配置

1.查看网络接口信息-ifconfig

  • 主机的网络接口卡(网卡)通常称之为“网络接口”
  • 在Linux中,使用ifconfig命令可以查看网络接口的地址配置信息
  • 使用ifconfig命令不带任何选项和参数的时候,会显示当前主机中已启动(运行中)的网络接口信息
  • 查看主网卡
    mark
    • inet:IP地址
    • netmask:子网掩码
    • broadcast:广播地址
    • ether:网卡地址
    • mtu:最大传输单元(字节数为1500字节);每个网络设备都有自己的mtu,默认为1500;若我们设备的mtu大于网络设备,数据在传输的过程中就会被分片拆包,导致网速(效率)变慢;若小于,则发挥不了最大传输能力;最理想的是本地与网络的MTU值相等(基本都是默认1500)

2.查看主机名称-hostname

  • 查看(不附加选项和参数)或者临时设置当前主机名
    hostname [name]
[root@localhost ~]# hostname xcf
[root@localhost ~]# hostname
xcf
[root@localhost ~]# su        ##(或bash)启用新的Shell会话
[root@xcf ~]# 
  • 永久设置主机名
    • hostnamectl set-hostname [主机名]
    • vim /etc/hostname (设置完后需重启系统才能生效)

3.查看路由表条目-route

  • 查看或设置主机中路由表信息
    route [-n]
[root@xcf ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.126.2   0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.126.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
- Destination列对应目标网段的地址
- Gateway列对应下一跳路由器的地址
- Iface列对应发送数据的网络接口
- 目标网段为“0.0.0.0”时表示此行为默认网关记录
- 下一跳是“0.0.0.0”时表示目标网段与本主机直连

4.查看网络连接情况-netstat

  • 查看系统的网络连接状态、路由表、接口统计等信息
    netstat [选项]
  • 常用选项
    • -a:显示当前主机中所有活动的网络连接情况(包括监听、非监听状态的服务端口)
    • -n:以数字的形式显示相关的主机地址、端口等信息
    • -r:显示路由表信息
    • -l显示处于田径状态的网络连接及端口信息
    • -t:查看TCP协议相关信息
    • -u:显示UDP协议相关信息
    • -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
  • 通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息;结合管道命令“grep”还可以在结果中过滤出所需的特定记录
    • 例如,执行以下操作可以查看本机中是否有监听“TCP80”端口(即标准FTP服务)的服务程序,输出信息中包括PID号和进程号名称
    [root@xcf ~]# netstat -anpt | grep ":80"
    
    • 扫描tcp和udp端口
[root@xcf ~]# netstat -nautp
...略

5.获取socket统计信息-ss

  • 查看系统的网络连接情况,获取socket统计信息
    ss [选项]
  • socket:即套接字,上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口
  • 常用选项
    • -t、-u、-n、-l、-p、-a、-r
  • 用的不多,有兴趣的同学可以再去查询深入了解下

二、测试网络连接

1.测试网络连通性-ping

  • ping [选项] 目标主机
  • 使用ping命令可以向目标主机持续的发送测试数据包,并反馈显示结果,直到按“Ctrl+C”组合键后终止测试并显示最终统计结果
  • 例:测试从本机到百度网站的连通性情况(记得Ctrl+C终止,否则会一直显示下去)
[root@xcf ~]# 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=1 ttl=128 time=58.0 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=128 time=48.4 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3 ttl=128 time=52.0 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=4 ttl=128 time=41.2 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=5 ttl=128 time=47.5 ms
^C
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 41.227/49.484/58.045/5.535 ms
  • 可能会发生以下情况
    • “Destination Host Unreacheble”表示目的主机不可达,可能目标地址不存在或者目的主机已关闭
    • “Netwokr is unreacheable”表示没有可用的路由记录(如默认网关),无法到达目标主机所在网络
    • 也有可能因为网络中存在影响通信过程稳定的因素(如网卡故障、病毒或网络攻击)时,会看到“Request timeout”的反馈结果,表示与目的主机连接超时(数据包响应缓慢或丢失)
    • 也还有可能是目标主机防火墙的限制导致连接超时反馈

2.跟踪数据包-traceroute

  • 测试从当前主机到目的主机之间经过了哪些网络节点,并显示了各中间节点的连接状态(响应时间)
  • 对于无法显示的节点,连接状态将显示“*”
  • 例:从本主机到百度之间,需要跨越一个路由器192.168.126.2
[root@xcf ~]# traceroute www.baidu.com
traceroute to www.baidu.com (180.101.49.11), 30 hops max, 60 byte packets
 1  gateway (192.168.126.2)  0.088 ms  0.037 ms  0.024 ms
  • traceroute命令能比ping命令更加准确的定位网络连接的故障点(中断点),执行命令也会比ping稍慢一点
  • 在网络测试与排错过程中,通常会先试用ping命令测试与目的主机的网络连接,如果发现有故障,再来使用traceroute命令跟踪查看故障在哪个中间节点
  • 也是记得按Ctrl+C终止

3.DNS域名解析-nslookup

  • 当域名解析出现异常的时候,将无法再使用域名的形式来访问网络中的Web站点、电子邮件系统等服务
  • nslookup是专门用来测试域名解析的专用工具,使用时只要指定要解析的目标域名作为参数即可
    nslookup 目标主机地址 [DNS服务器地址]
  • 示例:
    执行以下命令后,nslookup程序将提交查询请求,询问百度站点对应的IP地址是多少
[root@xcf ~]# nslookup www.baidu.com
Server:		192.168.126.2        ##所使用的的DNS服务器
Address:	192.168.126.2#53        ##DNS的服务器IP地址和端口号

Non-authoritative answer:        ##以下为DNS解析的反馈结果
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
  • 若能够成功反馈要查询域名的IP地址,则表示域名解析没有问题,否则需要根据实际反馈情况来判断故障原因

三、使用网络配置命令

在Linux主机中,手工修改网络配置有两种最基本的方法:

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

1.设置网络接口参数-ifconfig

  • 设置网络接口的IP地址、子网掩码
    • ifconfig 网络接口 ip地址 [netmask 子网掩码]
    • inconfig 网络接口 ip地址[/子网掩码长度]
    • 通常后一种方式用的多一些,当不指定子网掩码的时候,将使用ip地址所在分类默认子网掩码
    • 指定新的IP地址和子网掩码后,原有的地址将会失效
    • 示例:
[root@xcf~]# ifconfig eth0 192.168.168.1/24(或 ifconfig eth0 192.168.168.1 netmask 255.255.255.0)
##将网卡echo的IP地址设置为192.168.168.1,子网掩码长度为24
  • 禁用(临时)或者重新激活网卡
    • ifconfig 网络接口 up
    • ifconfig 网络接口 down
    • 网络接口被禁用后,将无法再使用该网络接口与其他主机进行连接
  • 设置虚拟网络接口
    • 在对服务器进行调试的过程中,有时需临时在同一个网卡上使用一个新的IP地址,但又不能覆盖原有IP地址而导致服务程序不可用
    • 相当于在一个网卡上配置多个IP地址
    • 格式(示例):ifconfig 网络接口:序号 IP地址
[root@xcf1 ~]# ifconfig ens33:1 11.11.11.11
[root@xcf1 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.126.3  netmask 255.255.255.0  broadcast 192.168.126.255
        inet6 fe80::8559:70c4:715b:a5b5  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b4:c9:c0  txqueuelen 1000  (Ethernet)
        RX packets 1905  bytes 154593 (150.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1224  bytes 161199 (157.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 11.11.11.11  netmask 255.0.0.0  broadcast 11.255.255.255
        ether 00:0c:29:b4:c9:c0  txqueuelen 1000  (Ethernet)

2.设置路由记录-route(临时)

  • route命令不仅可以用来查看路由表信息,还可以用来添加、删除静态的路由条路,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)
[root@xcf1 ~]# route        ##查看路由信息
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
11.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.126.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
  • 添加到指定网段的路由记录
    • 默认网关的IP地址应与本机其中一个接口的IP地址在同一个网段内
##格式:
route add -net 网段地址 gw IP地址
##通过“route add”添加路由记录,结合“net”指定目标网段的地址,结合“gw”指定下一跳路由器的IP地址,
##示例:
[root@xcf1 ~]# route add -net 192.168.133.0/24 gw 192.168.122.10        ##添加静态路由,本机访问另一个网段192.168.133.0/24的数据都发给192.168.122.10
[root@xcf1 ~]# route        ##确认已添加成功
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
11.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 ens33
11.0.0.0        0.0.0.0         255.0.0.0       U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.126.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.133.0   192.168.122.10  255.255.255.0   UG    0      0        0 virbr0
  • 删除到指定网段的路由记录
[root@xcf1 ~]# route del -net 192.168.133.0/24
[root@xcf1 ~]# route        ##没了,删除成功
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
11.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.126.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
  • 向路由表中添加默认网关记录
格式:
route add default gw IP地址
  • 删除路由表中默认的网关记录
格式:
route del default gw IP地址
  • 在同一个主机的路由表中只应有一条默认网关记录,若同时存在多条则可能导致该主机网络连接故障

四、修改网络配置文件

1.网络接口配置文件

  • 网络接口的配置文件默认位于目录“/etc/sysconfig/network-scripts/”中,文件名格式为“ifcfg-XXX”,其中“XXX”是网络接口的名称
  • “ifcfg-ens33”:是第一块以太网卡的配置文件
[root@xcf ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-lo
##“lo”是回环接口
  • 查看网卡配置
    mark
  • 补充:
    • TYPE:设置网卡类型,以上表示为以太网
    • ONBOOT:设置网络接口是否在Linux系统启动时自动激活
    • NETMASK:设置网络接口的子网掩码
    • GATEMASK:设置网络接口的默认网关地址
    • DNS:设置DNS服务器的IP地址

2.启用、禁用网络接口配置

  • 当修改了网络接口的配置文件后,若要使新的配置生效,需重启网卡或主机
  • 重启network网络服务
[root@xcf ~]# systemctl restart network        (重启所有网卡)
或
[root@xcf ~]# service network restart
Restarting network (via systemctl):                        [  确定  ]

  • 禁用、启用网络接口
[root@xcf ~]# ifdown ens33        (这里是禁用或启用单个网卡)
##注,若在Xshell中执行此命令,则界面再不可用了,连接不上,需回到VM虚拟机中重新启动网络接口
##这时你会发现网络不可用了↓↓↓
[root@xcf ~]# ping www.baidu.com
ping: www.baidu.com: 未知的名称或服务
[root@xcf ~]# ifup ens33        ##恢复后又可以继续上网了
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@xcf ~]# 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=1 ttl=128 time=36.2 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=128 time=31.8 ms
...略

3.主机名称配置文件

  • 通过“/etc/hostname”文件来修改主机名
[root@xcf ~]# vim /etc/hostname 
##仅识别第一行作为主机名,并重启后生效
  • 通过“hostnamectl”来修改主机名
[root@xcf ~]# vim /etc/hostname 
[root@xcf ~]# hostnamectl set-hostname xcf1
[root@xcf ~]# bash
[root@xcf1 ~]# hostname
xcf1

4.域名解析配置文件

  • /etc/resolv.conf文件中记录了本机默认使用的DNS服务器的IP地址,对该文件所做的修改将会立刻生效
    mark
    • 以上“serch”后面跟的是域名后缀,即当访问主机时,相当于访问“localhost.localdomain”
  • Linux系统中最多可以指定3个(3个以后的将被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器
  • CentOS7需要在NetworkManager.conf文件main段内设置dns=none,并重启NetworkManager服务,或者使用CentOS7新添加nmcil命令进行设置

5.本地主机映射文件

  • /etc/hosts文件中记录着一份主机名与IP地址的映射关系表
    一般用来保存经常需要访问的主机的信息
    mark
  • 当访问一个未知的域名的时候,会先查看该文件中是否有相对应的映射记录,如果找不到再去向DNS服务器查询
  • 对于经常使用的一些网址,可以通过在/etc/hosts文件添加正确的映射记录,减少DNS查询,从而提高上网速率
  • 若添加错误的映射记录,则可能会导致网站访问出现异常
  • hosts文件只保存在本地,所以只对当前主机生效,而无法作用于整个网络

猜你喜欢

转载自blog.csdn.net/weixin_51486343/article/details/110728913