網絡管理(三)之路由設置、網絡組
一、網卡名稱:
1、網絡接口的識別命名udev配置文件:#vim /etc/udev/rules.d/70-persistent-net.rules
2、網卡查看:#dmesg | grep -i eth 或者#ethtool -i eth0
3、網卡驅動卸載和裝載:
(1)卸載:#modprobe -r e1000 或者#rmmod e1000 (注:執行該命令后,遠端連接將斷開不能使用,恢復需要到機器終端上執行裝載網卡驅動命令)
(2)裝載:#modprobe e1000
二、IP命令和route命令的對比:
IP命令:
ip – show / manipulate routing, devices, policy routing and tunnels
(注:IP命令可以查詢網卡的信息、網絡路由等功能)
1、網卡信息查看:#ip link ;指定網卡查看:#ip link show eth0 ;查看活動狀態的網卡信息:#ip link show up
2、激活或者禁止指定的網卡:
(1)#ip link set eth1 down ;#ip link set eth1 up
(2)ifdown eth1 ;ifup eth1
3、ip添加或者刪除網卡IP地址:
使用格式:#ip addr {add|del} IPV4 dev eth0/{1……}
使用選項:[label LABEL]:添加地址時指明網卡別名
[scope {global|link|host}]:指明作用域
global: 全局可用
link: 僅鏈接可用
host: 本機可用
(1)添加或者刪除網卡的IP地址:
(2)ifconfig和ip addr查看IP地址信息的對比:
(3)ip命令新建網卡別名:
(4)ip命令對網卡所有設置的清除:
(注: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、OSPF和BGP
命令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
2、DNS
(1)系統中網卡的配置,需要設置DNS解析的IP地址,Linux系統中最多只能設三個DNS地址,超出的DNS則無效;第一個DNS為主DNS解析;第二個DNS為次DNS解析;第三個為備用DNS解析。
(2)DNS配置信息的查看:#cat /etc/resolv.conf
(3)DNS的正向和反向解析:
正解:域名–>IP
# dig -t A域名
# host -t A域名
反解:IP–>域名
# dig -x IP
# host -t PTR IP
3、DNS和hosts的優先級調整:
(注:系統默認最高優先級的解析是/etc/hosts的配置文件,如果需要將DNS的優先級調整,修改/etc/nsswitch.conf的配置,如下圖,將紅色框內的“files”“dns”對調即可)
四、netstat和ss的比較:
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
(2)顯示接口統計數據:
netstat{–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]
# netstat -i
# netstat -I=eth0 或者netstat -Ieth0
# ifconfig -s eth0
可做數據監控:
(3)常用組合:-tan;-uan,;-tnl;-unl
(4)顯示路由表:netstat{–route|-r} [–numeric|-n]
-r: 顯示內核路由表
-n: 數字格式
2、ss命令:
(1)格式:ss[OPTION]… [FILTER]
(2)netstat通過遍歷proc來獲取socket信息,ss使用netlink與內核tcp_diag模塊通信獲取socket信息。
(3)參數選項:-t: tcp協議相關;-u: udp協議相關;-w: 裸套接字相關;-x:unixsock相關;-l: listen狀態的連接;-a: 所有;-n: 數字格式;-p: 相關的程序及PID;-e: 擴展的信息;-m:內存用量;-o:計時器信息
(4)常用組合:-tan;-tanl;-tanlp;-uan
(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詳細信息:
五、網絡配置文件和CentOS7網絡屬性配置:
1、網絡配置文件:
(1)IP、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_CONTROLLED:NM是NetworkManager的簡寫,此網卡是否接受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文件中
2、CentOS7網絡屬性配置:(rhel7使用基于硬件,設備拓撲和設置類型命名)
rhel6之前,網絡接口使用連續號碼命名:eth0、eth1等,當增加或刪除網卡時,名稱可能會發生變化。
(1)網卡命名機制:
systemd對網絡設備的命名方式
(a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1
(b) 如果Firmware或BIOS為PCI-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.cf為grub2生成其配置文件;重啟系統生效。
B、修改/boot/grub2/grub.cfg
(注:修改完成后需要重啟生效)
六、nmcli命令:
A、修改IP地址等屬性:#nmclic onnection modify IFACE [+|-]setting.property value
setting.property:ipv4.addresses ;ipv4.gateway;ipv4.dns1; ipv4.method(指定是靜態或者是動態獲取IP) manual | dhcp
B、修改配置文件執行生效:systemctlrestart network 或者nmclicon reload
C、nmcli命令生效: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、查看網絡配置和活動狀態配置:
顯示設備狀態:
顯示網絡連接配置:nmcli con show "System eth0“ (注:此處的con是“connection”的簡寫) 圖略
2、新建備用配置文件:
3、啟用備用配置文件:
4、原網絡配置文件恢復:
5、新備用配置的修改(IP地址和網關):
命令:
將配置文件做down和up操作:(注:不要使用systemctl restart network命令重啟網絡服務,此配置文件為備用)
6、刪除新的備用配置文件:
7、相關工具:
網絡接口配置tui工具:nmtui
主機名稱配置工具:hostnamectl(或者hostnamectl status)
#hostnamectl set-hostname ###(修改主機名稱)
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、nmcli與ifcfg-*文件的對照:
(注: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可以是broadcast;roundrobin;activebackup;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下測試,兩塊網卡的模式為橋接)
(2)創建網絡組和創建port接口,并設置靜態IP地址和修改配置文件為靜態獲取IP:
(3)啟動網絡組和各個子接口:
(4)測試:
(網絡組卸載:# 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)
8、管理網絡組配置文件:
七、網絡客戶端工具:
1、工具:lftp, ftp, lftpget, wget
2、lftp的使用格式:# lftp [-p port] [-u user[,password]] SERVER
子命令:get、mget、ls、help
3、網絡資源下載:?# lftp get URL 或 # ftp 或 # wget 或?wget[option]… [URL]…
4、wget使用選項:-q: 靜默模式;-c: 斷點續傳;-O: 保存位置;–limit-rates=: 指定傳輸速率
5、lftp與ftp的對比:ftp不支持Tab鍵補全;而lftp則支持Tab鍵補全。
6、lftpget下載工具,但只支持ftp下載,命令格式#lftpget ftp://PATH/files
7、wget下載工具,支持ftp和http的下載,命令格式#wget http:// PATH/files或者#wget ftp://PATH/files
注:#命令pwd顯示的ftp服務器的根目錄路徑(/var/ftp);#命令lcd顯示的是當前登陸終端的路徑;#命令!ls顯示的是使用者本機的目錄下文件;#!mv命令修改本機目錄下的文件名稱;命令# passive更改使用模式;命令#put是上傳單一的文件;命令#mput上傳多個文件;命令#get下載單一文件;命令mget支持下載多個文件。
路由配置演示:
(1)規劃路由表劃分圖:
(2)兩臺路由機器的IP地址設置如下圖:
R1路由為node1;R2路由為node2
(3)IP設置完成后,執行命令#systemctl restartnetwork
(4)每臺路由機器上執行命令#echo1 > /proc/sys/net/ipv4/ip_forward,啟動路由轉發功能
(5)分別給R1、R2路由設置路由記錄:
(6)路由直接互ping端口測試:(注:ping之前先執行命令#iptables -F清除防火墻記錄)
(6)各網段的主機之間互ping:
原創文章,作者:Aaron_wang,如若轉載,請注明出處:http://www.www58058.com/44638