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配置不正確

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM