Linux网路设置一、查看网路1、查看网路插口地址2、查看修改主机名3、查看路由表条目4、查看网路联接情况netstat命令ss命令二、测试网路联接1、测试网路连通性2、跟踪数据包的路由途径3、测试DNS域名解析nslookup命令dig命令三、使用网路配置命令1、临时配置和永久配置的解释2、修改网卡的地址、状态2、添加、删除静态路由与默认路由记录四、修改网路配置文件1、网络插口配置文件2、启用、禁用网路插口配置3、域名解析配置文件一、查看网路1、查看网路插口地址
主机的网路插口卡(网卡)一般称为网路插口。在Linux操作系统中,使用ifconfig命令可以查看网路插口的地址配置信息(InterfaceConfiguration)。
注:若没有ifconfig命令的,须要先通过yum形式安装net-tools软件包,才有ifconfig命令。
第一种方法查看
[root@localhost ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.10.8 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::8c58:4d06:fde9:2d7d prefixlen 64 scopeid 0x20
ether 00:0c:29:fe:06:f3 txqueuelen 1000 (Ethernet)
RX packets 684409 bytes 987345087 (941.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 175406 bytes 15317449 (14.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 135 bytes 12160 (11.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 135 bytes 12160 (11.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
第二种方法查看
[root@localhost ~]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:fe:06:f3 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.8/24 brd 192.168.10.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::8c58:4d06:fde9:2d7d/64 scope link
ens33:第一块以太网卡的名称。“ens33”中的“en”是“EtherNet”的简写,表示网卡类型为以太网。lo:“回环”网络插口,“lo”是“loopback”的简写linux 网络命令 tracert,它不代表真正的网路插口,而是一个虚拟的网路插口,其IP地址默认是“127.0.0.1”。回环地址一般仅用于对本机的网路测试。inet:表示网路插口的IP地址。netmask:表示网路插口的子网网段。broadcast:表示网路插口所在网路的广播地址。ether:表示网路插口的数学地址(MAC地址)。“TX”通过该网路插口发送的数据包个数、流量等。“RX”通过该网路插口接收的数据包个数、流量等。2、查看修改主机名
在Linux操作系统中,相当一部份网路服务还会通过主机名来辨识主机,假如主机名配置不当,可能会造成程序功能出现故障。使用hostname命令可以查看当前主机的主机名。
方法一
[root@localhost ~]# hostname //查看原来的主机名
localhost.localdomain
[root@localhost ~]# hostname www //设置新的主机名
[root@localhost ~]# hostname //确认新的主机名
www
[root@localhost ~]# bash //启用新的Shell 会话,查看变化
[root@www ~]#hostname
www
方法二
[root@localhost ~]# vi /etc/hostname
www
通过修改/etc/hostname 来更改的主机名,如果要让其生效,需重启 Linux 系统。
方法三
[root@localhost ~]# hostnamectl set-hostname www //设置新的主机名
[root@localhost ~]# bash //启用新的Shell 会话,查看变化
[root@www ~]#hostname
www
3、查看路由表条目
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.2 0.0.0.0 UG 100 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
Destination列对应目标网关的地址Gateway列对应下一跳路由器的地址Iface列对应发送数据的网路插口若结合“-n”选项使用,可以将路由记录中的地址显示为数字方式,这可以跳过解析主机名的过程,在路由表条目较多的情况下才能推动执行速率。4、查看网路联接情况netstat命令
通过netstat命令可以查看当前操作系统的网路联接状态、路由表、接口统计等信息,它是了解网路状态及排除网路服务故障的有效工具。
netstat命令常用的选项:
-a:显示主机中所有活动的网路联接信息(包括窃听、非窃听状态的服务端口)。-n:以数字的方式显示相关的主机地址、端口等信息。-r:显示路由表信息。-l:显示处于窃听(Listening)状态的网路联接及端口信息。-t:查看TCP(TransmissionControlProtocol,传输控制合同)相关的信息。-u:显示UDP(UserDatagramProtocol,用户数据报合同)合同相关的信息。-p:显示与网路联接相关联的进程号、进程名称信息(该选项须要root权限)。
一般使用“-anpt”组合选项,以数字方式显示当前系统中所有的TCP联接信息,同时显
示对应的进程信息。
[root@localhost ~]# netstat -anpt
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:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1338/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1024/sshd
ss命令
ss命令也可以查看网路联接情况,它是SocketStatistics的简写,主要用于获取socket统计信息,它可以显示和netstat命令类似的输出内容。但ss的优势在于它才能显示更多更详尽的有关TCP和联接状态的信息,但是比netstat更快速更高效。要想使用ss命令,首先确保iproute程序包已被安装,可以通过yum形式进行安装。
ss命令常用的选项
-h:–help通过该选项获取更多的使用帮助。-V:–version显示软件的版本号。-t:–tcp显示TCP合同的sockets。-u:–udp显示UDP合同的sockets。-n:–numeric不解析服务的名称,如“22”端口不会显示成“ssh”。-l:–listening只显示处于窃听状态的端口。-p:–processes显示窃听端口的进程。-a:--all对TCP合同来说,既包含窃听的端口,也包含构建的联接。-r:--resolve把IP解释为域名,把端标语解释为合同名称。
[root@localhost ~]# ss -anpt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:* users:(("systemd",pid=1,fd=43))
LISTEN 0 5 192.168.122.1:53 *:*
“LocalAddress:Port”表示本地窃听的IP和端口“PeerAddress:Port”表示远端联接的IP和端口二、测试网路联接
用户访问网路服务的前提是网路联接处于正常状态。若网路联接不稳定,甚至难以联接,用户则未能正常访问网路服务。因而,当网路联接出现问题时,须要通过测试网路联接的命令来确定故障点。
1、测试网路连通性
使用ping命令可以向目标主机持续地发送测试数据包,并显示反馈结果,直至按Ctrl
+C组合键后终止测试,并显示最终统计结果。
[root@localhost ~]# ping www.baidu.com
PING www.wshifen.com (103.235.46.39) 56(84) bytes of data.
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=1 ttl=128 time=210 ms
64 bytes from 103.235.46.39 (103.235.46.39): icmp_seq=2 ttl=128 time=210 ms
[root@localhost ~]# ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
64 bytes from 192.168.10.1: icmp_seq=1 ttl=64 time=0.182 ms
64 bytes from 192.168.10.1: icmp_seq=2 ttl=64 time=0.355 ms
执行ping测试命令时,若不能获得从目标主机发回的反馈数据包,则表示在本机到目标主机之间存在网路连通性故障。
若看见“DestinationHostUnreachable”的反馈信息,则表示目的主机不可达,可能目标地址不存在或则主机早已关掉若看见“Networkisunreachable”的反馈信息,则表示没有可用的路由记录(如默认网段),难以达到目标主机所在的网路。“Requesttimeout”的反馈结果,表示与目标主机间的联接超时(数据包响应平缓或遗失)。除此以外,当网路中存在影响通讯过程稳定性的诱因(如网卡故障、病毒或网路功击等)或当目标主机有严格的防火墙限制时,也可能收到“Requesttimeout”的反馈结果。2、跟踪数据包的路由途径
若服务器上没有traceroute命令,可通过yum形式安装traceroute软件包。traceroute命令可以用于测试从当前主机到目的主机之间经过了什么网路结点,并显示各中间结点的联接状态(响应时间)。对于未能响应的结点,联接状态将显示为“*”。
traceroute命令才能比ping命令愈发确切地定位网路联接的故障点(中断点),因而执行速率会比ping命令稍慢。在网路测试与排错过程中,一般会先使用ping命令测试与目的主机的网路联接,假如发觉网路联接有故障,再使用traceroute命令跟踪查看是在那个中间结点存在故障。
方法一
[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (104.193.88.123), 30 hops max, 60 byte packets
1 gateway (192.168.10.2) 0.050 ms 0.026 ms 0.023 ms
2 * * *
3 * * *
方法二
[root@localhost ~]# mtr www.baidu.com
My traceroute [v0.85]
localhost.localdomain (0.0.0.0) Mon Nov 2 10:00:17 2020
Resolver: Received error response 2. (server failure)er of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.10.2 0.0% 19 0.2 0.4 0.2 1.2 0.0
2. 192.168.1.1 0.0% 19 1.7 1.4 1.1 1.9 0.0
3. 192.168.0.1 0.0% 18 3.2 2.1 1.4 3.2 0.2
4. 100.94.128.1 0.0% 18 56.8 16.4 2.9 103.3 26.7
5. 58.217.231.37 0.0% 18 5.0 4.9 3.0 6.9 1.0
3、测试DNS域名解析nslookup命令当域名解析出现异常时,将难以使用域名的方式访问网路中的Web站点、电子电邮系统等服务。nslookup命令是拿来测试域名解析的专用工具,使用时只要指定要解析的目标域名作为参数即可。若在执行过程中提示未能找到nslookup命令,可通过yum安装bind-utils程序包的形式来解决。
[root@localhost ~]# nslookup www.caidu.com
Server: 8.8.8.8 //所使用的DNS 服务器
Address: 8.8.8.8#53
Non-authoritative answer: //DNS 解析的反馈结果
Name: www.caidu.com
Address: 45.76.29.156
若出现“……noserverscouldbereached”的信息,则表示不能联接到指定的DNS服务器。若出现“……can’tfindxxx.yyy.zzz:NXDOMAIN”的信息,则表示要查询的域名不存在。dig命令
[root@localhost ~]# dig baidu.com
; <> DiG 9.9.4-RedHat-9.9.4-50.el7 <> baidu.com // dig 的版本及输入参数
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37833
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
//以上显示服务器返回的信息,status 为 NOERROR 状态说明查询成功
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;baidu.com. IN A
//显示通过 A 记录要查询的域名
;; ANSWER SECTION:
baidu.com. 498 IN A 220.181.38.148
baidu.com. 498 IN A 39.156.69.79
//经DNS 返回后的查询结果
;; Query time: 41 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 一 11月 02 10:14:31 CST 2020
;; MSG SIZE rcvd: 70
//查询后的一些统计信息,比如用了 41 毫秒,查询 DNS 服务器的IP 地址,查询的时间等等
dig 在查询过程中,还可以指定特点的 DNS 服务器。
如果不指定 DNS 服务器,默认会使用/etc/resolve.conf 里面的地址作为 DNS 服务器。
[root@localhost ~]# dig @8.8.8.8 baidu.com
三、使用网路配置命令1、临时配置和永久配置的解释临时配置:通过命令行直接更改当前正在使用的网路地址,更改后立刻可以生效。这些方法操作简单快速、执行效率高,通常在调试网路的过程中使用。但因为所做的更改并没有固定地储存在静态的文件中,因而当重启network服务或重启主机后将会失效。固定配置:通过配置文件来储存固定的各类网路地址,须要重启network服务或重启主机后才能生效。这些方法操作上相对要复杂一些linux安装教程,但相当于“永久配置”,通常在须要为服务器设置固定的网路地址时使用。2、修改网卡的地址、状态
ifconfig网路插口名称IP地址[netmask子网网段]
ifconfig网路插口名称IP地址[/子网网段宽度]
在对服务器网路进行调试的过程中,有时侯须要临时在同一个网卡上使用一个新的IP地址,并且又不能覆盖原有IP地址而造成服务程序不可用。这时可以为网卡绑定一个虚拟的网路插口,虚拟插口的IP地址和网卡原有的IP地址都可以正常使用。[root@localhost~]#ifconfigens33:0192.168.10.55可以按照须要添加更多的虚拟插口,如“ens33:1”“ens33:2”等。2、添加、删除静态路由与默认路由记录通过“routeadd”操作可以添加路由记录,结合“-net”选项指定目标网关的地址,结合“gw”选项指定下一跳路由器的IP地址
[root@www~]#routeadd-net目标网关gw下一跳地址
[root@www~]#routedel-net目标网关gw下一跳地址添加、删除默认网段记录时,与添加、删除静态路由记录的命令格式类似,但指定目标网关时只需简单地使用“default”表示即可,无须再使用“-net”选项指明网关地址。
[root@www~]#routedeldefaultgw网段地址//删掉默认网段记录
[root@www~]#routeadddefaultgw网段地址//添加新的默认网段记录四、修改网路配置文件1、网络插口配置文件
网路插口的配置文件默认坐落目录/etc/sysconfig/network-scripts/中,文件名格式为“ifcfg-XXX”,其中“XXX”是网路插口的名称。
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-lo
/etc/sysconfig/network-scripts/ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
DEVICE="ens36"
ONBOOT="yes"
IPADDR="192.168.20.1"
NETMASK="255.255.255.0"
GATEWAY="192.168.20.254"
TYPE:设置网卡类型,“Ethernet”表示以太网。BOOTPROTO:设置网路插口的配置形式,值为“static”时表示使用静态指定的IP
地址,为“dhcp”时表示通过DHCP的形式动态获取地址。DEVICE:设置网路插口的名称。ONBOOT:设置网路插口是否在Linux操作系统启动时激活。IPADDR:设置网路插口的IP地址。ETMASK:设置网路插口的子网网段。GATEWAY:设置网路插口的默认网段地址。2、启用、禁用网路插口配置
1)启用网路插口
[root@localhost~]#systemctlrestartnetwork//重启network服务
//会先关掉所有的网路插口,再依照配置文件重新启用所有的网路插口。
//现实环境中不是特殊情况不建议使用
[root@localhost~]#ifupens33或ifconfigens33up
2)关掉网路插口
[root@localhost~]#ifupens33或ifconfigens33down
3、域名解析配置文件
1)指定为本机提供DNS解析的服务器地址
/etc/resolv.conf文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的更改将会立即生效。Linux操作系统中最多可以指定3个(第3个之后的将被忽视)不同的DNS服务器地址,优先使用第一个DNS服务器。
[root@localhost ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 114.114.114.114
然而,在CentOS7环境下,假如依照前面形式配置,过一段时间会被系统重新覆盖或则清理,此时须要更改/etc/NetworkManager/NetworkManager.conf文件,在main部份添加“dns=none”配置项。以后须要重启NetworkManager服务。确保/etc/resolv.conf内有配置信息,此时就可以正常解析域名了。
[root@localhost~]#vi/etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifcfg-rh
dns=none
2)本地主机映射文件
/etc/hosts文件中记录着一份主机名与IP地址的映射关系表,通常拿来保存常常须要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,假如找不到再去向DNS服务器查询。对于时常访问的一些网站,可以通过在/etc/hosts文件添加正确的映射记录,降低DNS查询过程,因而提升上网速率。其实linux 网络命令 tracert,若添加了错误的映射记录,则可能造成网站访问出现异常。另外,由于hosts文件只保存在本地,所以其中的映射记录也只适用于当前主机如何安装LINUX,而未能作用于整个网路。
[root@localhost~]#vim/etc/hosts
127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4
::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6
格式为IP地址域名或IP地址主机名
192.168.20.5
192.168.20.55node1