Loading

Linux-网络管理

网络管理

一 基本网络配置

linux操作系统,以太网卡用“eth”表示网卡;序号从零开始
eth0代表到系统能够识别的第一个网卡
eth1....第2个网卡

查看网卡信息

查看网卡信息

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

# lspci | grep -i eth
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

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

# mii-tool eth0
eth0: negotiated 100baseTx-FD flow-control, link ok
link ok 网卡能够被识别,并且接了有效的网线

# mii-tool eth1
SIOCGMIIPHY on 'eth1' failed: Invalid argument
网卡虽然能够被识别(网卡已经被驱动了,但不能用:网卡配置错误,网线没接等)

样图

ifconfig命令

1、ifconfig -a 查看所有网卡信息
2、ifconfig eth0 查看单个网卡信息
3、ifconfig eth0 192.168.1.122 netmask 255.255.255.0 临时设定IP和掩码(马上生效,但是临时生效,重启服务或者重启系统都失效)
4、ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0 配置子接口

ifconfig eth0 down|up
ifdown eth0 |ifup eth0

 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配置文件。

setup:

二 设定主机名

 完全规范的主机名:

web1.uplook.com

查看主机名

# hostname 或者 # uname -n

命令临时设定或更改主机名(马上生效,重启系统就失效)

# hostname node7.upl.com

永久生效(需要下次重启系统才生效)

# vim /etc/sysconfig/network
NETWORKING=yes       <----是否启用网络功能(no: service network start 没有任何回应)
HOSTNAME=node8.upl.com   <----找到HOSTNAME设定自己的主机名
GATEWAY=192.168.0.2      <----默认网关,如果和局部配置文件ifcfg-eth0冲突,则以局部为准

指定DNS

[root@node1 Desktop]# echo nameserver 10.1.1.254 > /etc/resolv.conf
[root@node1 Desktop]# cat /etc/resolv.conf 
nameserver 10.1.1.254
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.1.1.1 node1.uplook.com node1
10.1.1.2 node2.uplook.com node2

路由 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

网络故障排错

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

# mii-tool   eth0
有可能明明连接了有效的网线,但是还是看不到link ok,可以先确定网卡配置文件是正确的,并且ONBOOT=yes ,然后重启network服务(service network restart)

ping 127.0.0.1

通,代表系统能够支持tcp/ip通信。
不通,原因: 相关驱动损坏或者没有。防火墙iptables拦截了。

ping 网卡的IP

 假设eth0配置10.1.1.22
ping 10.1.1.22
 通,说明网卡是能够正常工作

 不通,可能是网卡驱动工作不正常,或iptables防火墙问题。
 尝试重启网络服务

ping 网关

不通
原因: 网关有问题,或者IP冲突

解决方法:ping 同一个网段中其他IP,其他计算机 ping 网关

ping 外网(IP或域名)

ping 外网IP
通,只能说明通信没问题,网关是设定正确。
不通,很可能就是网关无法联网
ping 域名
如果连域名对应的IP都无法返回,说明域名解析失败,原因:DNS设定有问题。

注意: 同一个网卡可以配置多个IP,多个不同网段或者相同网段的IP
但是,不同的网卡不能配置同一个网段IP

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

# ethtool eth0        --查看网卡的工作模式等信息

    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full

# ethtool -s eth0 speed 10 duplex half autoneg off    --改成10M/s的速率,半双工,关闭自动协商

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

# ethtool -s eth0 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 @ 2018-08-29 21:55  别来无恙-  阅读(6663)  评论(1编辑  收藏  举报