Linux-网络管理

查看网卡信息

查看当前系统所连接的所有网卡(包括已经驱动了和没有驱动)

[root@docker-02 ~]# lspci | grep -i eth
02:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01)

确认网线已经连接好,以ens33 为例

[root@docker-02 ~]# mii-tool ens33
ens33: negotiated 1000baseT-FD flow-control, link ok
link ok 网卡能够被识别,并且接了有效的网线

 ping命令

ping +IP地址 ctrl+c结束 测试是否两台主机网络是否通
-c参数:ping几次
cd /proc/sys/net/ipv4 
ls icmp_echo_ignore_all
0 代表关闭,1代表开启。这里只是暂时开启忽略回显。别人ping自己不显示。[禁止ping]
echo 1 > icmp_echo_ignore_all 

NetworkManager服务

 NetworkManager作用:是redhat6自带的检测网络、自动连接网络的图形化工具。NetworkManager 服务会干扰网络配置,如:DNS经常会被刷掉。

service NetworkManager stop 临时关闭
chkconfig NetworkManager off 开机不自动启动

网络相关的配置文件

1) /etc/sysconfig/network-scripts/ifcfg-ethX 接口的网络配置文件 
2) /etc/sysconfig/network 网络全局配置文件
3)/etc/resolv.conf DNS解析文件
4)/etc/hosts 本地名称解析文件,优先于DNS

配置静态IP地址:
方法1:  setup/systen-config-network

方法2:# vim /etc/sysconfig/network-scripts/ifcfg-eth0
device=eth0
type=Ethernet
onboot=yes
bootproto=none
ipadd=10.1.1.1
network=255.255.255.0
gateway=10.1.1.254
DEVICE=eth0         <-- 网卡名字
BOOTPROTO=static       <---- dhcp 动态获取IP, none 根据其他选项决定动态还是静态,static肯定是手工指定IP
NM_CONTROLLED=no          <---如果NetworkManager服务启用,该网卡配置文件也不使用NetworkManager管理
ONBOOT=yes          <---- 网络服务启动的时候,yes代表激活状态 , no 代表禁用
TYPE=Ethernet
IPADDR=10.1.1.11        <-- IP 地址
NETMASK=255.255.255.0     <-- 子网掩码
GATEWAY=10.1.1.1          <-- 默认网关
DNS1=10.1.1.1             <-- DNS 服务器
HWADDR=14:da:e9:eb:a9:61  <---MAC地址
USERCTL=no           <---是否允许普通用户启动或者停止该网卡
IPV6INIT=no          <---是否在该网卡上启动IPV6的功能
PEERDNS=yes          <---是否允许网卡在启动时向DHCP服务器查询DNS信息,并自动覆盖/etc/resolv.conf配置文件。

路由 route

Linux系统的route命令用于显示和操作IP路由表, 要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现

route [OPTIONS] [CMD]

[OPTIONS]

复制代码
-c:显示更多信息
-n:以数字显示路由信息
-v:显示详细的处理信息
-F:显示发送信息
-C:显示路由缓存
-f:清除所有网关入口的路由表
-p:与add命令一起使用时使路由具有永久性
复制代码

[CMD]

复制代码
add               #添加一条新路由;
del               #删除一条路由;
-net              #目标地址是一个网络;
-host             #目标地址是一个主机;
netmask           #当添加一个网络路由时,需要使用网络掩码;
gw                #路由数据包通过网关,注意,你指定的网关必须能够达到;
metric            #设置路由跳数;
destination       #指定该路由的网络目标;
mask netmask      #指定与网络目标相关的网络掩码(也被称作子网掩码);
gateway           #指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点IP地址;
metric metric     #为路由指定一个整数成本值标(从1至9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用 ;
复制代码

示例

(1)查看本机路由信息

[root@localhost ~]# route -n

(2)添加一条默认路由,临时生效(重启后就会失效)

[root@localhost ~]# route add default gw 192.168.10.1
或
[root@localhost ~]# route add –net 0.0.0.0 gw 192.168.10.1

(3)删除一条默认路由

[root@localhost ~]# route del default gw 192.168.10.1
或
[root@localhost ~]# route del –net 0.0.0.0 gw 192.168.10.1

(4)添加一条静态路由

route add -net 192.168.8.0 netmask 255.255.255.0 gw 192.168.1.1     //  发往192.168.62这个网段的全部要经过网关192.168.1.1

(5)删除一条静态路由

route del -net 192.168.8.0 netmask 255.255.255.0 gw 192.168.1.1    // 删除的时候可以不写网关

(6)添加网关

复制代码
# 服务器上面有双网卡,em1外网,em2内网,我们都知道,如果在配置文件里面同事都置网关,那么总有一个不会生效,此时我们就要用静态添加的方法来添加网关了,让145端的内网都走em2网卡。

# 添加前
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 em1
145.36.26.0     0.0.0.0         255.255.255.0   U     0      0        0 em2
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 em1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 em2
0.0.0.0         192.168.20.254  0.0.0.0         UG    0      0        0 em1

# 添加网关
[root@localhost ~]# route add -net 145.0.0.0 netmask 255.0.0.0 gw 145.36.26.254

# 添加后
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 em1
145.36.26.0     0.0.0.0         255.255.255.0   U     0      0        0 em2
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 em1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 em2
145.0.0.0       145.36.26.254   255.0.0.0       UG    0      0        0 em2
0.0.0.0         192.168.20.254  0.0.0.0         UG    0      0        0 em1
复制代码

网络故障排错

判断网卡是否能识别,是否接了有效的网线

[root@docker-02 ~]# mii-tool ens33
ens33: negotiated 1000baseT-FD flow-control, link ok
有可能明明连接了有效的网线,但是还是看不到link ok,可以先确定网卡配置文件是正确的,并且ONBOOT=yes ,然后重启network服务(service network restart)

ethtool ens33 查看网卡的工作模式等信息

[root@docker-02 ~]# ethtool ens33
Settings for ens33:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: off (auto)
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
# ethtool -s ens33 speed 10 duplex half autoneg off    --改成10M/s的速率,半双工,关闭自动协商

通过scp拷贝大文件,查看网速速率

# ethtool -s ens33 speed 100 duplex full autoneg on    --改成100M/s的速率,半双工,开启自动协商

ping的错误类型

network unreachable (网络不可达): 一般没有设定正确的网关
unknow host xxxx : 设定DNS无效

Ping命令返回错误信息说明

1.Request timed out
这是大家经常碰到的提示信息,很多文章中说这是对方机器置了过滤ICMP数据包,从上面工作过程来看,这是不完全正确的,至少有下几种情况。
(1) 对方已关机,或者网络上根本没有这个地址:比如在上图中主机A中PING 192.168.0.7 ,或者主机B关机了,在主机A中PING 192.168.0.5 都会得到超时的信息。
(2)对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。
(3)对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。
怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。
(4)错误设置IP地址
正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:
A.主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。
B.主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。

2.Destination host Unreachable
(1) 对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中A机中不设定默认的路由,运行Ping192.168.0.1.4就会出现“Destination host Unreachable”。
(2)网线出了故障
这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。

3.Bad IP address
这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。
4.Source quench received
这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

5.Unknown host——不知名主机
这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

6.No answer——无响应
这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。

7.Ping 127.0.0.1
127.0.0.1是本地循环地址.如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。

8.no rout to host
网卡工作不正常。

9.transmit failed,error code:10043
网卡驱动不正常。

10.unknown host name
DNS配置不正确

 

posted @ 2020-03-17 13:35  星火撩原  阅读(190)  评论(0编辑  收藏  举报