一文读懂Linux之网络配置—详细

前言

​ Hello,各位码友。新的一天开始了(实话实说,昨天没更新是我感冒了,休息了一天),一起Linux学习打卡吧。不知道近期更新的文章你们是否感兴趣呢?今天我们一起打开Linux学习中的网络配置,希望本次更新的呢呢绒对您有所帮助!!!

​ 喜欢的话点个一键三连支持一下呗。


网络配置

​ CentOS 7定位与提供服务的网络型操作系统,所以为这款操作系统设置完整的网络参数是至关重要的。

​ 通常,Linux都可以通过两种方式为系统设置网络参数。一种是通过命令设置的方式,这种方式的优点是方便、快捷,并且设置后可以立即生效。但是有一个指明的缺点就是当计算机重启之后所有的设置均失效。另一种是通过修改系统配置文件来实现,这种方式的优点是设置后永久保存,计算机重启后仍有效。缺点是这样的设置不会立即生效,需要重启计算机或相关服务才可以使其生效。

​ 接下来,我们分别学习一下这两种设置网络参数的方法。

命令行设置网络参数


网络接口参数—ifconfig命令

描述:显示设置网络接口信息

用法:ifconfig interface 选项 | 地址

设置ens33这块网卡的IP地址为192.168.130.134,子网掩码为255.255.255.0

[root@CentOSLinux ~]# ifconfig ens33 192.168.130.134 netmask 255.255.255.0

查看ens33这块网卡的接口信息:

[root@CentOSLinux ~]# ifconfig ens33

关闭ens33网卡接口:

[root@CentOSLinux ~]# ifconfig ens33 down

开启ens33网卡接口

[root@CentOSLinux ~]# ifconfig ens33 up

主机名参数—hostnamectl命令

描述:显示或设置系统主机名称。

用法:

hostnamectl [选项]

[root@CentOSLinux ~]# hostnamectl status	#查看主机名称及主机信息
[root@CentOSLinux ~]# hostnamectl set-hostname centos.example.com	#设置主机名称

路由参数—route命令

描述:显示或设置静态IP路由表

用法:

route [选项]

route add 目标网络 gw 网关地址

route 目标网络

[root@CentOSLinux ~]# route	#查看当前路由表
[root@CentOSLinux ~]# route -n
	#使用数字地址替代主机名称
[root@CentOSLinux ~]# route add default gw 192.168.0.254	#添加默认网关为192.168.0.254
[root@CentOSLinux ~]# route add -net 172.16.0.0/16 gw 192.168.0.254	#添加指定段的网关
[root@CentOSLinux ~]# route add -net 192.56.76.0 netmask 255.255.255.0 dev ens33	#添加路由记录,指定通过ens33网卡传输到192.56.76.0网段的数据
[root@CentOSLinux ~]# route del default gw 192.168.0.254	#删除默认网关
[root@CentOSLinux ~]# route del -net 172.16.0.0/16		#删除指定网段的网关记录

文件修改网络参数

网络接口参数

CentOS 7 系统中网卡配置文件为/etc/sysconfig/network-scripts/ifcfg-< iface >,其中iface为网卡接口名称,如ens33,。该文件的语法格式如下表所示:

选项功能描述
DEVICE设备名称
TYPE设备类型
BOOTPROTO启动协议
HWADDR硬件地址
ONBOOT开机是否启动该网卡,对虚拟接口无效
IPADDRIP地址
PREFIX网络位掩码个数,对虚拟接口无效
NETMASK子网掩码
GATEWAY默认网关
[root@CentOSLinux ~]#systemctl restart network	#重启网络服务使新设置生效

主机名参数

主机名配置文件为/etc/hostname,通过修改该文件实现主机名称的设置


路由参数

通过上面的网卡接口设置网络参数后,可以指定网卡的默认网关,但是无法设定通往特定网段的静态路由信息。此时,需要创建指定网卡的路由配置文件(默认文件不存在),配置文件名称为route< iface-name>,改文件每行对应一条静态路由记录。


网络故障排错

​ 随着IT技术的不断扩展延伸,当网络越来越大时,故障就时有发生,此时我们需要有良好的排错思路与优秀的排错工具。排错的思路为:首先,从最近一次操作定位问题所在,或者根据公司的服务器工作手册查找最近对服务器所做的修改定位关键问题;其次检查这次操作与配置有无错误同时获取与问题相关的信息(如:硬件型号、软件版本、网络拓扑等信息);然后根据所搜集的信息修复问题,修复可以是修改配置文件、替换相应的设备或者进行版本升级等。问题不是一成不变的,单解决问题的思路是大体相同的。

下面介绍几个解决网络配置常见问题的工具


ping

​ 当网络不通时,可以使用简单的ping命令来定位问题节点的位置,一般我们会按照顺序进行ping命令,一次为本地回环、本地IP、网关IP、外网IP,ping 的对象一般都会给予回应。如果没有回应,则表示网络不通(某些环境下,对象主机会禁止被ping),据此来判断网络断点的位置。


traceroute

​ 一个数据包从本地发送后一般会经历多个路由转发数据,如果有一个数据包进入互联网后因为中间某个路由转发有问题,而导致最终的数据发送失败。这种情况下我们并不知道问题路由的位置及IP信息,利用tanceroute可以帮助我们解决这些问题,他可以跟踪数据包的路由过程,以此判断路由所在。Linux下的traceroute默认使用UDP封装跟踪包,如果希望使用ICMP封装,可以使用-I选项。

[root@CentOSLinux ~]# tranceroute -I www.google.com

nslookup

​ 互联网的高速发展,使网络资源出现爆发式的增长。网络本身是使用IP地址来唯一对应网络资源的。单用户是无法记忆这么多得数字IP信息的。所以我们一般会通过域名来访问网络资源,此时DNS就至关重要了,使用nslookup可以帮助检查本地设置的DNS服务器工作是否正常。

​ 输入下面的命令检查本机设置的DNS服务器是否可以解析www. google.com 域名。

[root@CentOSLinux ~]# nslookup www.google.com
Server:		192.168.130.2
Address:	192.168.130.2#53

Non-authoritative answer:
Name:	www.google.com
Address: 59.188.250.54
Name:	www.google.com
Address: 2001::6ca0:a92e

​ 输出的信息说明本次解析是由192.168.130.2这台DNS服务器提供的。


dig

​ nslookup仅可以查询域名与IP地址之间的对应关系,如果你需要更多关于DNS记录的信息,可以使用dig命令,查看包括MX(邮件记录)。NS(域名服务器记录)等信息。

[root@CentOSLinux ~]# dig www.google.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56702
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.google.com.			IN	A

;; ANSWER SECTION:
www.google.com.		5	IN	A	23.101.24.70

;; Query time: 2012 msec
;; SERVER: 192.168.130.2#53(192.168.130.2)
;; WHEN: 四 4月 01 10:09:34 CST 2021
;; MSG SIZE  rcvd: 48
[root@CentOSLinux ~]# dig www.google.com MX

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> www.google.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28574
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 4096
;; QUESTION SECTION:
;www.google.com.			IN	MX

;; AUTHORITY SECTION:
google.com.		5	IN	SOA	ns1.google.com. dns-admin.google.com. 365995851 900 900 1800 60

;; Query time: 523 msec
;; SERVER: 192.168.130.2#53(192.168.130.2)
;; WHEN: 四 4月 01 10:11:08 CST 2021
;; MSG SIZE  rcvd: 93

netstat

​ 如果你怀疑有人非法闯入了你的系统,而你有不知道这个人在哪里时,可以通过netstat强大的网络监控能力找出连接系统的所有人。或是当你启动了一个网络服务后,远程客户却无法访问该服务,我们也可以使用netstat命令查看服务对应的端口是否已经正常开启,来判断服务活动是否正常。

[root@CentOSLinux ~]# netstat -an	#查看网络连接状态
tcp        0      0 192.168.130.130:22      192.168.130.1:2257      ESTABLISHED

从上条输出信息可以看出,有一个远程IP(192.168.130.130)使用2257端口,连接了本地22端口。

[root@CentOSLinux ~]# netstat -nutlp	#查看当前系统开启端口信息
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1202/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1318/master         
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      2740/sshd: sevlvbin 
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      1626/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1204/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1202/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1318/master         
tcp6       0      0 ::1:6010                :::*                    LISTEN      2740/sshd: sevlvbin 
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::22                   :::*                    LISTEN      1204/sshd           
udp        0      0 0.0.0.0:893             0.0.0.0:*                           731/rpcbind         
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1626/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1626/dnsmasq        
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1014/dhclient       
udp        0      0 0.0.0.0:111             0.0.0.0:*                           1/systemd           
udp        0      0 0.0.0.0:46247           0.0.0.0:*                           723/avahi-daemon: r 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           723/avahi-daemon: r 
udp6       0      0 :::893                  :::*                                731/rpcbind         
udp6       0      0 :::111                  :::*                                1/systemd 

本次分享就到这里了,你又学废了吗?


喜欢的话,点个一键三连支持一下呗,感激不尽!

希望有所帮助!!!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

7旅病娘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值