網絡管理(三)之路由設置、網絡組


網絡管理(三)之路由設置、網絡組

一、網卡名稱:

1、網絡接口的識別命名udev配置文件:#vim /etc/udev/rules.d/70-persistent-net.rules

2、網卡查看:#dmesg | grep -i eth 或者#ethtool -i eth0

blob.png                                             

3、網卡驅動卸載和裝載:

1)卸載:#modprobe -r e1000 或者#rmmod e1000  注:執行該命令后,遠端連接將斷開不能使用,恢復需要到機器終端上執行裝載網卡驅動命令

2)裝載:#modprobe e1000

blob.png

blob.png

二、IP命令和route命令的對比:

IP命令:

ip – show / manipulate routing, devices, policy routing and tunnels

注:IP命令可以查詢網卡的信息、網絡路由等功能

1、網卡信息查看:#ip link ;指定網卡查看:#ip link show eth0 ;查看活動狀態的網卡信息:#ip link show up

blob.png

blob.png

2、激活或者禁止指定的網卡:

1#ip link set eth1 down ;#ip link set eth1 up

blob.png

blob.png

2ifdown eth1 ;ifup eth1

blob.png

blob.png

3、ip添加或者刪除網卡IP地址:

使用格式:#ip addr {add|del} IPV4 dev eth0/{1……}

使用選項:[label LABEL]:添加地址時指明網卡別名

[scope {global|link|host}]:指明作用域

global: 全局可用

link: 僅鏈接可用

host: 本機可用

1)添加或者刪除網卡的IP地址:

blob.png

blob.png

blob.png

2ifconfigip addr查看IP地址信息的對比:

blob.png

3ip命令新建網卡別名:

blob.png

blob.png

4ip命令對網卡所有設置的清除:

blob.png

注:ip命令對網卡的設置,只能是臨時生效,不能夠永久,當機器重啟后就會自動清除恢復;因此,如果想設置永久的網絡IP地址,請在/etc/sysconfig/network-scripts/ifcfg-eth#配置文件上修改或者新建網卡(或網卡別名)配置文件

4、ip命令添加和刪除路由:

1)添加路由:#ip route add

     命令格式:ip route add 目標網絡 via 網關 dev 設備名稱(eth#)源地址(一般不寫)

TARGET:

主機路由:IP

網絡路由:NETWORK/MASK

#ip route add 192.168.0.0/24 via 172.16.0.1

#ip route add 192.168.1.13 via 172.16.0.1

添加網關:iproute add default via GW dev設備名稱(eth#

#iproute add default via 172.16.0.1

注:設備名稱不寫也可以,會自動識別

2)刪除路由:#ip route detele #ip route del

3)顯示路由:#iproute show|list

4)清空路由表:#iproute flush dev eth#

5、配置動態路由:通過守護進程獲取動態路由

安裝quagga包,支持多種格式的RIP、OSPFBGP

命令vtysh配置

route命令:

1、  查看路由:#route -n

2、  添加路由:#route add

3、路由添加格式:route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]

4、添加路由例題:

1)目標:192.168.1.3 網關:172.16.0.1 注:添加主機記錄

# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

2)目標:192.168.0.0 網關:172.16.0.1 注:添加網絡記錄

# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0

# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

  3)默認路由,網關:172.16.0.1

# route add -net 0.0.0.0 netmask 0.0.0.0 gw172.16.0.1

# route add default gw172.16.0.1

5、刪除路由:route del

route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]

6、路由刪除例題:

1)目標:192.168.1.3 網關:172.16.0.1 注:刪除主機記錄

# route del -host 192.168.1.3

 2)目標:192.168.0.0 網關:172.16.0.1 注:刪除網絡記錄

# route del -net 192.168.0.0 netmask 255.255.255.0

三、本地解析器與DNS的對比:

1、本地解析器:

1)解析器執行正向和逆向查詢,是本地主機名數據庫和IP地址的映像

對小型獨立網絡有用

通常,在使用DNS前檢查

getent hosts 查看/etc/hosts 內容

2)本地解析器的配置文件修改:#vim /etc/hosts

2DNS

1)系統中網卡的配置,需要設置DNS解析的IP地址,Linux系統中最多只能設三個DNS地址,超出的DNS則無效;第一個DNS為主DNS解析;第二個DNS為次DNS解析;第三個為備用DNS解析。

(2)DNS配置信息的查看:#cat /etc/resolv.conf

blob.png

3DNS的正向和反向解析:

正解:域名–>IP

# dig -t A域名

# host -t A域名

    反解:IP–>域名

# dig -x IP

# host -t PTR IP

3、DNShosts的優先級調整:

注:系統默認最高優先級的解析是/etc/hosts的配置文件,如果需要將DNS的優先級調整,修改/etc/nsswitch.conf的配置,如下圖,將紅色框內的“files”“dns”對調即可

blob.png

四、netstatss的比較:

1、netstat命令:

1)顯示網絡連接:

netstat[–tcp|-t] [–udp|-u] [–raw|-w] [–listening|-l] [–all|-a] [–numeric|-n] [–extend|-e[–extend|-e]] [–program|-p]

選項詳解:-t: tcp協議相關;-u: udp協議相關;-w: raw socket相關;-l: 處于監聽狀態;-a: 所有狀態;-n: 以數字顯示IP和端口;-e:擴展格式;-p: 顯示相關進程及PID

blob.png

2)顯示接口統計數據:

netstat{–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]

# netstat -i

# netstat -I=eth0 或者netstat -Ieth0

# ifconfig -s eth0

blob.png

可做數據監控:

blob.png

3)常用組合:-tan;-uan,-tnl-unl

4)顯示路由表:netstat{–route|-r} [–numeric|-n]

-r: 顯示內核路由表

-n: 數字格式

blob.png

2ss命令:

1)格式:ss[OPTION]… [FILTER]

2netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息。

3)參數選項:-t: tcp協議相關;-u: udp協議相關;-w: 裸套接字相關;-xunixsock相關;-l: listen狀態的連接;-a: 所有;-n: 數字格式;-p: 相關的程序及PID;-e: 擴展的信息;-m:內存用量;-o:計時器信息

4)常用組合:-tan;-tanl;-tanlp;-uan

blob.png

5)常見用法:

ss -l 顯示本地打開的所有端口

 ss -pl 顯示每個進程具體打開的socket

 ss -t -a 顯示所有tcp socket

 ss -u -a 顯示所有的UDP Socekt

 ss -o state established '( dport = :ssh or sport = :ssh )' 顯示所有已建立的ssh連接

 ss -o state established '( dport = :http or sport = :http )' 顯示所有已建立的HTTP連接

 ss -s 列出當前socket詳細信息:

blob.png

五、網絡配置文件和CentOS7網絡屬性配置:

1、網絡配置文件:

1IP、MASK、GW、DNS相關配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

2)路由相關的配置文件:/etc/sysconfig/network-scripts/route-IFACE ;?/etc/sysconfig/network-scripts/ifcfg-IFACE

3)說明參考/usr/share/doc/initscripts-9.49.30/sysconfig.txt

4)配置格式:

DEVICE:此配置文件應用到的設備

HWADDR:對應的設備的MAC地址

BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp

NM_CONTROLLEDNMNetworkManager的簡寫,此網卡是否接受NM控制;建議CentOS6為“no

5)配置文件里各選項的說明詳解:

   ONBOOT:在系統引導時是否激活此設備

   TYPE:接口類型;常見有的Ethernet, Bridge

   UUID:設備的惟一標識

   IPADDR:指明IP地址

   NETMASK:子網掩碼

   GATEWAY: 默認網關

   DNS1:第一個DNS服務器指向

   DNS2:第二個DNS服務器指向

   USERCTL:普通用戶是否可控制此設備

   PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中

blob.png

2、CentOS7網絡屬性配置:(rhel7使用基于硬件,設備拓撲和設置類型命名)

rhel6之前,網絡接口使用連續號碼命名:eth0、eth1,當增加或刪除網卡時,名稱可能會發生變化。

1)網卡命名機制:

systemd對網絡設備的命名方式

(a) 如果FirmwareBIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1

(b) 如果FirmwareBIOSPCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1

(c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0

(d) 如果用戶顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56

(e) 上述均不可用時,則使用傳統命名機制

2)名稱組成格式

en: Ethernet 有線局域網

wl: wlan無線局域網

ww: wwan無線廣域網

3)名稱類型:

o<index>: 集成設備的設備索引號

s<slot>: 擴展槽的索引號

x<MAC>: 基于MAC地址的命名

p<bus>s<slot>: enp2s1

4)網卡設備的命名過程:

第一步:udev, 輔助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules

第二步:biosdevname會根據/usr/lib/udev/rules.d/71-biosdevname.rules

第三步:通過檢測網絡接口設備,根據/usr/lib/udev/rules.d/75-net-description

5)采用傳統命名方式:

A、編輯/etc/defaults/grub配置文件,在GRUB_CMDLINE_LINUX="…… rd.lvm.lv=centos/swap rhgb quiet"的后面添加一句“net.ifnames=0”;使用命令grub2-mkconfig -o /etc/grub2.cfgrub2生成其配置文件;重啟系統生效。

blob.png

B、修改/boot/grub2/grub.cfg

blob.png

注:修改完成后需要重啟生效

六、nmcli命令:

A、修改IP地址等屬性:#nmclic onnection modify IFACE [+|-]setting.property value

setting.propertyipv4.addresses ipv4.gatewayipv4.dns1 ipv4.method(指定是靜態或者是動態獲取IP manual | dhcp

B、修改配置文件執行生效:systemctlrestart network 或者nmclicon reload

Cnmcli命令生效:nmclicon down eth0 ;nmclicon up eth0

D、新建配置文件:# nmcli connection add con-name home autoconnect yes ifname eno33554960 type ethernet ip4 192.168.1.100/24 gw4 192.168.1.1

1、查看網絡配置和活動狀態配置:

blob.png

顯示設備狀態:

blob.png

顯示網絡連接配置:nmcli con show "System eth0“ 注:此處的con是“connection”的簡寫  圖略

2、新建備用配置文件:

blob.png

3、啟用備用配置文件:

blob.png

4、原網絡配置文件恢復:

blob.png

5、新備用配置的修改(IP地址和網關):

命令:

blob.png

將配置文件做downup操作:(注:不要使用systemctl restart  network命令重啟網絡服務,此配置文件為備用

blob.png

blob.png

6、刪除新的備用配置文件:

blob.png

7、相關工具:

網絡接口配置tui工具:nmtui

blob.png

主機名稱配置工具:hostnamectl(或者hostnamectl  status

blob.png

#hostnamectl  set-hostname ###(修改主機名稱)

blob.png

8、nmcli簡寫子命令的配置使用:

1)顯示網絡接口屬性:nmclidev show eno16777736

2)創建新連接default,IP自動通過dhcp獲取:nmclicon add con-name default type Ethernet ifnameeth0

3)刪除連接:nmclicon del default

4)創建新連接static ,指定靜態IP,不自動連接:

nmcticon add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254

5)啟用static連接配置:nmclicon up static

6)啟用default連接配置:nmclicon up default

7)查看幫助:nmclicon add help

8)修改連接設置:

nmclicon mod“static” connection.autoconnect no 修改為啟動不自動啟用

nmclicon mod “static” ipv4.dns 172.25.X.254  修改DNS

nmclicon mod “static” +ipv4.dns 8.8.8.8  增加DNS

nmclicon mod “static” -ipv4.dns 8.8.8.8  刪除DNS

nmclicon mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”  修改IP地址

nmclicon mod “static” +ipv4.addresses 10.10.10.10/16   增加地址

9)修改連接配置后,需要重新加載配置

nmcli con reload

nmcli con down system eth0 可被自動激活

nmcli con up “system eth0”

nmcli dev dis eth0 禁用網卡,訪止被自動激活

10)圖形工具:nm-connection-editor

9、nmcliifcfg-*文件的對照:

blob.png

注:ipv4.ignore-auto-dns true該項是不自動獲取DNS,手動設置;等價命令:nmclicon mod “system eth0” ipv4.ignore-auto-dns yes

六、網絡組Network Teaming

1、了解網絡組:

網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量;但不同于舊版中bonding技術,網絡組提供更好的性能和擴展性;網絡組由內核驅動和teamd守護進程實現。

2、命令格式:#nmclicon add type team(網絡組類型) con-name CNAME(連接名) ifname INAME(接口名) [configJSON](工作模式)

工作模式設定:'{"runner": {"name": "METHOD"}}'METHOD可以是broadcastroundrobinactivebackup;loadbalance,;lacp

3、多種方式runner

broadcast

roundrobin

activebackup

loadbalance

lacp(implements the 802.3ad Link Aggregation Control Protocol)

4、簡單了解網絡組的使用:

啟動網絡組接口不會自動啟動網絡組中的port接口

 啟動網絡組接口中的port接口不會自動啟動網絡組接口

 禁用網絡組接口會自動禁用網絡組中的port接口

 沒有port接口的網絡組接口可以啟動靜態IP連接

 啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入

5、創建port接口:

1)命令格式:#nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

CNAME連接名;INAME網絡接口名;TEAM網絡組接口名

   注:連接名若不指定,默認為team-slave-IFACE

   nmclidev dis INAME

   nmclicon up CNAME

INAME設備名CNAME網絡組接口名或port接口

6、網絡組事例:

# nmcli con add type team con-name team0 ifname team1 config ‘{"runner": {"name": "loadbalance"}}'

 # nmcli con mod team0 ipv4.addresses 10.1.10.100/24

 # nmcli con mod team0 ipv4.method manual

 # nmcli con add con-name team0-1 type team-slave ifname eth1 master team0

 # nmcli con add con-name team0-2 type team-slave ifname eth2 master team0

 # nmcli con up team0

 # nmcli con up team0-eth1

 # nmcli con up team0-eth2

 # teamdctl team0 state; # nmcli dev dis eth2

7、實驗:創建網絡組:

#ip link

 #nmcli con add type team con-name team0 ifname team1 config '{"runner": {"name": "activebackup"}}'

 # nmcli con mod team0 ipv4.addresses ' 10.1.10.100/24'

 # nmcli con mod team0 ipv4.method manual

 # nmcli con add type team-slave con-name team0-1 ifname eno1 master team0

 # nmcli con add type team-slave con-name team0-2 ifname eno2 master team0

 # teamdctl team0 state

 #ping -I team0 10.1.10.100

 # nmcli dev dis eno1

 # teamdctl team0 state

 # nmcli con up team0-port1

 # nmcli dev dis eno2

 # teamdctl team0 state

 # nmcli con up team0-port2

 # teamdctl team0 state

 

實驗演示:

1)創建前,先檢查網卡信息:(注:此實驗是在CentOS7下測試,兩塊網卡的模式為橋接

blob.png

2)創建網絡組和創建port接口,并設置靜態IP地址和修改配置文件為靜態獲取IP

blob.png

3)啟動網絡組和各個子接口:

blob.png

blob.png

blob.png

4)測試:

blob.png

(網絡組卸載:# nmcli connection down team1-1# nmcli connection down team1-2;# nmcli connection down team0# nmcli connection delete team1-1;# nmcli connection delete team1-1;# nmcli connection delete team0;#systemctl restartnetwork

blob.png

8、管理網絡組配置文件:

blob.png

blob.png

blob.png

 

七、網絡客戶端工具:

1、工具:lftp, ftp, lftpget, wget

2lftp的使用格式:# lftp [-p port] [-u user[,password]] SERVER

  子命令:getmgetls、help

3、網絡資源下載:?# lftp get URL # ftp  # wget  ?wget[option]… [URL]…

4、wget使用選項:-q: 靜默模式;-c: 斷點續傳;-O: 保存位置;–limit-rates=: 指定傳輸速率

5、lftpftp的對比:ftp不支持Tab鍵補全;而lftp則支持Tab鍵補全。

6、lftpget下載工具,但只支持ftp下載,命令格式#lftpget ftp//PATH/files

7、wget下載工具,支持ftphttp的下載,命令格式#wget http// PATH/files或者#wget ftp//PATH/files

blob.png

注:#命令pwd顯示的ftp服務器的根目錄路徑(/var/ftp);#命令lcd顯示的是當前登陸終端的路徑;#命令!ls顯示的是使用者本機的目錄下文件;#!mv命令修改本機目錄下的文件名稱;命令# passive更改使用模式;命令#put是上傳單一的文件;命令#mput上傳多個文件;命令#get下載單一文件;命令mget支持下載多個文件。

 

路由配置演示:

1)規劃路由表劃分圖:

blob.png

2)兩臺路由機器的IP地址設置如下圖:

R1路由為node1;R2路由為node2

blob.png

blob.png

3IP設置完成后,執行命令#systemctl restartnetwork

4)每臺路由機器上執行命令#echo1 > /proc/sys/net/ipv4/ip_forward,啟動路由轉發功能

blob.png

blob.png

5)分別給R1、R2路由設置路由記錄:

blob.png

blob.png

6)路由直接互ping端口測試:(注:ping之前先執行命令#iptables -F清除防火墻記錄)

blob.png

blob.png

blob.png

blob.png

blob.png

6)各網段的主機之間互ping

blob.png

blob.png

blob.png

blob.png

blob.png

 

原創文章,作者:Aaron_wang,如若轉載,請注明出處:http://www.www58058.com/44638

(0)
Aaron_wangAaron_wang
上一篇 2016-09-07 23:21
下一篇 2016-09-08 18:55

相關推薦

  • 馬哥教育網絡班22期+第2周課程練習

    1、Linux上文件管理命令有哪些,其常用的相關示例演示。 常見文件管理命令有:touch/stat/file/rm/cp/mv/nano 示例如下: [root@localhost week2_test]# touch newfile [root@localhost week2_test]# ls&nbsp…

    Linux干貨 2016-08-22
  • Linux系統修復

    在boot里面我們可以根據自己的需求去設置一些啟動選項,我們今天來了解一下Linux啟動流程,以及boot下的選項。       加載BIOS的硬件信息,獲取第一個啟動設備。 讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息 加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備。 核型執行init程序…

    Linux干貨 2016-09-13
  • 09yum的使用以及簡單配置

    YUM: yellowdog update modifier ,rpm的前端程序,用來解決軟件包相關依賴性,可以在多個庫之間定位軟件包。 yum repository:yum repo,存儲了眾多RPM包,以及包相關的元數據文件,放置于特定目錄repodata下。 yum 訪問的文件服務器主要有三種,ftp,http,file。 yum客戶端配置文件: 【/…

    Linux干貨 2016-11-04
  • 0805文本處理工具

    文本處理工具 查看文本文件     文件內容:less和cat            文件截?。篽ead和tail       &…

    Linux干貨 2016-08-07
  • 第一周作業

    1. 描述計算機的組成及其功能。
    2. 按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3. 描述Linux的哲學思想,按照自己的理解對其解釋性描述。
    4. 說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、……等命令使用,配合相應實例闡述。
    5. 如何獲取幫助信息,描述man文檔章節劃分。
    6. 羅列發行版基礎目錄名稱命名法則及功用規定。

    Linux干貨 2017-12-03
  • MySQL 多實例詳解

    目錄 一、基本概念 1、MySQL多實例        就是在一臺機器上面開啟多個不同的端口,運行多個MySQL服務進程。這些MySQL多實例公用一套安裝程序,使用不同的(也可以是相同的)配置文件,啟動程序,數據文件。在提供服務時候,多實例MySQL在邏輯上看來是各自獨立的,多個實例的自身是根據配置…

    Linux干貨 2015-09-23
欧美性久久久久