- 網(wǎng)卡配置文件:
TYPE=Ethernet
ONBOOT=yes
DEVICE=
HWADDR=
UUID=
BOOTPROTO=none
IPADDR=
PREFIX= 或 NETMASK=
GATEWAY=
DNS1=
DNS2=
- 網(wǎng)卡最文件簡配置:
DEVICE=eth0
IPADDR=10.0.0.100
PREFIX=24
GATEWAY=10.0.0.1
- 網(wǎng)絡(luò)配置一般包括如下內(nèi)容:
主機(jī)名
IP/netmask
路由:默認(rèn)網(wǎng)關(guān)
DNS 服務(wù)器
主DNS服務(wù)器
次DNS服務(wù)器
第三DNS服務(wù)器
- 網(wǎng)絡(luò)配置方式:
靜態(tài)指定:
ifcfg: ifconfig, route, netstat
ip: object {link, addr, route}, ss, tc
system-config-network-tui (setup)
配置文件
CentOS 7: 網(wǎng)絡(luò)配置工具
nmcli, nmtui, nm-connection-editor
動態(tài)分配:
DHCP: Dynamic Host Configuration Protocol
- CentOS 6網(wǎng)卡名稱
- 網(wǎng)絡(luò)接口識別并命名相關(guān)的udev 配置文件:
/etc/udev/rules.d/70-persistent-net.rules
-
查看網(wǎng)卡:
dmesg查看內(nèi)存中存儲的開機(jī)信息
dmesg |grep –i eth 查看關(guān)于eth網(wǎng)卡的開機(jī)信息
ethtool -i eth0 查看eth0網(wǎng)卡的驅(qū)動設(shè)備
dmesg查看的開機(jī)信息是查看保存在/var/log/dmesg中的內(nèi)容
lsmod 查看系統(tǒng)中加載的所有驅(qū)動模塊
lsmod | grep e1000 查看eth0網(wǎng)卡的驅(qū)動設(shè)備 卸載網(wǎng)卡驅(qū)動:
modprobe -r e1000
rmmod e1000
- 裝載網(wǎng)卡驅(qū)動:
modprobe e1000
- dmesg 顯示存放內(nèi)核啟動文件
- lsmod 查看驅(qū)動模塊
配置網(wǎng)絡(luò)接口
接口命名方式:CentOS 6:
以太網(wǎng):eth[0,1,2,...]
ppp :ppp[0,1,2,...]
ifconfig 命令
ifconfig [interface]
# ifconfig -a
# ifconfig IFACE [up|down]
ifconfig interface [aftype] options | address ...
# ifconfig IFACE IP/netmask [up]
# ifconfig IFACE IP netmask NETMASK
注意:立即生效道偷;
啟用混雜模式:[-]promisc
示例
ifconfig eth1 down 禁用網(wǎng)卡設(shè)置
ifconfig eth1 up 啟用網(wǎng)卡設(shè)置
ifconfig -a 查看所有的網(wǎng)卡設(shè)置烘嘱,包括禁用的網(wǎng)卡
ifconfig eth1 2.2.2.2/24 臨時配置eth1接口的IP地址五鲫,臨時生效
route 命令
路由管理命令
查看:route -n
添加:route add
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
-net 指定網(wǎng)絡(luò)路由 -host指定主機(jī)路由
目標(biāo):192.168.1.3 網(wǎng)關(guān):172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目標(biāo):192.168.0.0 網(wǎng)關(guān):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 dev接口設(shè)備可省略
默認(rèn)路由埠对,網(wǎng)關(guān):172.16.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1
刪除路由:route del
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
刪除默認(rèn)路由:
route del default gw 172.16.0.1
目標(biāo):192.168.1.3 網(wǎng)關(guān):172.16.0.1 刪除指定路由
route del -host 192.168.1.3
目標(biāo):192.168.0.0 網(wǎng)關(guān):172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0
route -add -net 10.0.0.0/8 gw 172.16.0.2 dev eth1 或 route -add -net 10.0.0.0/8 gw 172.16.0.2
traceroute 跟蹤路由信息
具體參數(shù)格式:traceroute [-dFlnrvx][-f<存活數(shù)值>][-g<網(wǎng)關(guān)>...][-i<網(wǎng)絡(luò)界面>][-m<存活數(shù)值>][-p<通信端口>][-s<來源地址>][-t<服務(wù)類型>][-w<超時秒數(shù)>][主機(jī)名稱或IP地址][數(shù)據(jù)包大小]
命令參數(shù):
-d 使用Socket層級的排錯功能驻售。
-f 設(shè)置第一個檢測數(shù)據(jù)包的存活數(shù)值TTL的大小。
-F 設(shè)置勿離斷位唱蒸。
-g 設(shè)置來源路由網(wǎng)關(guān)呈野,最多可設(shè)置8個。
-i 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包汉额。
-I 使用ICMP回應(yīng)取代UDP資料信息曹仗。
-m 設(shè)置檢測數(shù)據(jù)包的最大存活數(shù)值TTL的大小。
-n 直接使用IP地址而非主機(jī)名稱蠕搜。
-p 設(shè)置UDP傳輸協(xié)議的通信端口怎茫。
-r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上。
-s 設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址轨蛤。
-t 設(shè)置檢測數(shù)據(jù)包的TOS數(shù)值蜜宪。
-v 詳細(xì)顯示指令的執(zhí)行過程。
-w 設(shè)置等待遠(yuǎn)端主機(jī)回報的時間祥山。
-x 開啟或關(guān)閉數(shù)據(jù)包的正確性檢驗(yàn)
mtr 跟蹤路由信息
tcpdump -i eth0 -nn 抓取eth0接口的數(shù)據(jù)包
- lsof
lsof(list open files)是一個列出當(dāng)前系統(tǒng)打開文件的工具
lsof abc.txt 顯示開啟文件abc.txt的進(jìn)程
lsof -c abc 顯示abc進(jìn)程現(xiàn)在打開的文件
lsof -c -p 1234 列出進(jìn)程號為1234的進(jìn)程所打開的文件
lsof -g gid 顯示歸屬gid的進(jìn)程情況
lsof +d /usr/local/ 顯示目錄下被進(jìn)程開啟的文件
lsof +D /usr/local/ 同上圃验,但是會搜索目錄下的目錄,時間較長
lsof -d 4 顯示使用fd為4的進(jìn)程
lsof -i 用以顯示符合條件的進(jìn)程情況
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4地址
service --> /etc/service中的 service name (可以不止一個)
port --> 端口號 (可以不止一個)
lsof -i :22 查看22端口的服務(wù)進(jìn)程
配置動態(tài)路由
- 通過守護(hù)進(jìn)程獲取動態(tài)路由
? 安裝quagga包缝呕,支持多種格式的RIP 澳窑、OSPF 和BGP
? 命令vtyshp配置
yum -y install quagga 安裝quagga軟件包
rpm -qi quagga 查看quagga包的信息說明
rpm -ql quagga 查看quagga包括的文件列表,包含ospfd、bgpd等服務(wù)腳本
cp /etc/quagga/ospfd.conf.sample /etc/quagga/ospfd.conf 復(fù)制服務(wù)配置文件
service ospfd start 啟動ospfd服務(wù)
vtysh 進(jìn)入路由配置環(huán)境岳颇,思科命令
netstat 命令
netstat - Print network connections, routing tables, interface
statistics, masquerade connections, and multicast memberships
顯示網(wǎng)絡(luò)連接:
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
-t: tcp 協(xié)議相關(guān)
-u: udp 協(xié)議相關(guān)
-w: raw socket相關(guān) socket TCP/IP 套接字 IP+tcp/udp port
-l: 處于監(jiān)聽狀態(tài)
-a: 所有狀態(tài)
-n: 以數(shù)字顯示IP 和端口照捡;
-e:擴(kuò)展格式
-p:顯示相關(guān)進(jìn)程及PID
常用組合:
-tan, -uan, -tnl, -unl,-ntuap
顯示路由表:
netstat {--route|-r} [--numeric|-n]
-r:顯示內(nèi)核路由表
-n:數(shù)字格式
netstat -nr 顯示內(nèi)核的路由信息
顯示接口統(tǒng)計數(shù)據(jù):
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
netstat -i 顯示所有接口的統(tǒng)計數(shù)據(jù)
netstat –I=eno16777736 顯示接口統(tǒng)計數(shù)據(jù)
ifconfig -s eno16777736 顯示接口的統(tǒng)計數(shù)據(jù)
ss命令
ss [OPTION]... [FILTER]
netstat 通過遍歷proc來獲取socket 信息话侧,ss使用netlink 與內(nèi)核tcp_diag模塊通信獲取socket 信息。
選項(xiàng):
-t: tcp協(xié)議相關(guān)
-u: udp協(xié)議相關(guān)
-w: 裸套接字相關(guān)
-x:unix sock相關(guān)
-l: listen狀態(tài)的連接
-a: 所有
-n: 數(shù)字格式
-p: 相關(guān)的程序及PID
-e: 擴(kuò)展的信息
-m:內(nèi)存用量
-o:計時器信息
FILTER : [ state TCP-STATE ] [ EXPRESSION ]
TCP 的常見狀態(tài):
tcp finite state machine:
LISTEN:監(jiān)聽
ESTABLISHED:已建立的連接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport =
sport =
示例:’( dport = :ssh or sport = :ssh )’
常用組合:
-tan, -tanl, -tanlp, -uan
常見用法:
ss -l 顯示本地打開的所有端口
ss -pl 顯示每個進(jìn)程具體打開的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 列出當(dāng)前socket詳細(xì)信息
網(wǎng)絡(luò)配置文件
- IP 闯参、MASK 瞻鹏、GW 、DNS 相關(guān)配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE - 路由相關(guān)的配置文件:
/etc/sysconfig/network-scripts/route-IFACE - /etc/sysconfig/network-scripts/ifcfg-IFACE:
說明參考/usr/share/doc/initscripts-9.49.30/sysconfig.txt
DEVICE:此配置文件應(yīng)用到的設(shè)備
HWADDR:對應(yīng)的設(shè)備的MAC地址鹿寨,修改MAC地址時新博,需將關(guān)鍵字HWADDR改為MACADDR
BOOTPROTO:激活此設(shè)備時使用的地址配置協(xié)議,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM 是NetworkManager 的簡寫脚草,此網(wǎng)卡是否接受NM 控制赫悄;建議CentOS6 為“no”
ONBOOT:在系統(tǒng)引導(dǎo)時是否激活此設(shè)備
TYPE:接口類型;常見有的Ethernet, Bridge
UUID:設(shè)備的惟一標(biāo)識
IPADDR:指明IP 地址
NETMASK:子網(wǎng)掩碼
GATEWAY:默認(rèn)網(wǎng)關(guān)
DNS1:第一個DNS 服務(wù)器指向
DNS2:第二個DNS 服務(wù)器指向
USERCTL:普通用戶是否可控制此設(shè)備
PEERDNS:如果BOOTPROTO 的值為“dhcp”馏慨,是否允許dhcp server 分配的dns 服務(wù)器指向信息直接覆蓋至/etc/resolv.conf
DOMAIN=example.com 域名設(shè)置
路由相關(guān)的配置文件:
/etc/sysconfig/network-scripts/route-IFACE
default via 172.16.0.1
172.10.10.0/24 via 172.10.20.1
ADDRESS1=10.0.0.0
NETMASK1=255.0.0.0
GATEWAT1=172.16.0.2
ip
- 配置Linux網(wǎng)絡(luò)屬性:ip命令
ip - show / manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }OBJECT := { link | addr | route }
ip link - network device configuration
set dev IFACE
可設(shè)置屬性:
up and down :激活或禁用指定接口
ifup/ifdown
ip link set eth0 down|up 激活或禁用eth0接口
show [dev IFACE] :指定接口
[up] :僅顯示處于激活狀態(tài)的接口
ip link show eth1 顯示eth1接口的信息
ip link show up 僅顯示激活狀態(tài)的接口信息
ip addr { add | del } IFADDR dev STRING
[label LABEL] :添加地址時指明網(wǎng)卡別名
[scope {global|link|host}]:指明作用域
global:全局可用
link:僅鏈接可用
host:僅本機(jī)可用
[broadcast ADDRESS] :指明廣播地址
ip address show look at protocol addresses
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip addr 顯示ip地址
ip a 顯示IP地址
ip link show
ip address show 顯示接口ip
ip addr add 172.16.100.100/16 dev eth0 ip可配置添加多個
ip addr add 172.16.100.100/16 dev eth0 label eth0:0 添加ip
ip addr add 172.16.100.100/16 dev eth0 label eth0:0 scope link 設(shè)置網(wǎng)卡別名埂淮、指明作用域
ip addr del 172.16.100.100//16 dev eth0 刪除ip地址
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip address flush 使用格式同show
ip addr flush dev eth0 label eth0:0 刪除eth:0地址
ip addr flush dev eth0 將eth0接口的所有地址刪除
ip route - routing table management
添加路由:ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
主機(jī)路由:IP
網(wǎng)絡(luò)路由: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
添加網(wǎng)關(guān):ip route add default via GW dev IFACE
ip route add default via 172.16.0.1
刪除路由:ip route delete
ip route del default 刪除默認(rèn)路由
顯示路由:ip route show|list
清空路由表:ip route flush [dev IFACE] [via PREFIX]
ip route flush dev eth0
示例:
ifconfig eth0 down 從鏈路層關(guān)閉eth0網(wǎng)卡
ifconfig eth0 up 從鏈路層啟用eth0網(wǎng)卡
ifdown eth0 僅禁用地址網(wǎng)絡(luò)層,而不禁用鏈路層
ifup eth0 啟動網(wǎng)絡(luò)層地址
ip link 查看網(wǎng)卡鏈路層狀態(tài)写隶,不顯示IP
ip addr 顯示網(wǎng)絡(luò)層狀態(tài)倔撞,顯示IP地址
ip route 顯示路由表
ip link set eth0 down 禁用eth0網(wǎng)卡
ip link set eth0 up 啟用eth0網(wǎng)卡
-
本地解析文件
解析器執(zhí)行正向和逆向查詢/etc/hosts本地解析文件
本地主機(jī)名數(shù)據(jù)庫和IP 地址的映像
對小型獨(dú)立網(wǎng)絡(luò)有用
通常,在使用DNS前檢查
getent hosts 查看/etc/hosts /etc/sysconfig/network 主機(jī)名配置文件慕趴,可添加網(wǎng)關(guān)IP痪蝇,晚于網(wǎng)卡配置文件生效
dns 名字解析
/etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
search magedu.com 自動識別域名
域名設(shè)置,等同于/etc/sysconfig/network-scripts/ifcfg-eth0配置文件中的DOMAIN=magedu.com域名設(shè)置
/etc/nsswitch.conf
與/etc/hosts 相比優(yōu)先于DNS冕房,可在/etc/nsswitch.conf文件中修改dns與hosts的優(yōu)先級先后 vim /etc/nsswitch.conf
hosts: files dns 表示hosts文件的解析優(yōu)先級高于dns文件配置文件躏啰,可調(diào)換位置更換優(yōu)先級
正向解析:FQDN-->IP
dig -t A FQDN
host -t A FQDN
反向解析:IP-->FQDN
dig -x IP
host -t PTR IP
網(wǎng)絡(luò)配置文件
- /etc/sysconfig/network-scripts/route-IFACE
注意:需service network restart 生效
兩種風(fēng)格:
(1) TARGET via GW
如:10.0.0.0/8 via 172.16.0.1
(2) 每三行定義一條路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
網(wǎng)卡別名
對虛擬主機(jī)有用
將多個IP 地址綁定到一個NIC上
eth0:1 、eth0:2耙册、 eth0:3
ifconfig 命令:
ifconfig eth0:0 192.168.1.100/24 up 添加別名eth0:0的ip
ifconfig eth0:0 down
ip 命令:
ip addr add 172.16.1.2/16 dev eth0
ip addr add 172.16.1.1/16 dev eth0 label eth0:0
ip addr add 172.16.1.2/16 dev eth0 label eth0:0
ip addr del 172.16.1.1/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
設(shè)備別名(一個網(wǎng)卡配置多個IP)
一個網(wǎng)卡配置多個IP時给僵,物理網(wǎng)卡可以用dhcp獲取和靜態(tài)IP,但別名網(wǎng)卡必須靜態(tài)指定IP觅玻,不能dhcp獲取
為每個設(shè)備別名生成獨(dú)立的接口配置文件
關(guān)閉NetworkManager服務(wù):service NetworkManger stop
/etc/sysconfig/network-scripts/ifcfg-eth0:0
必須使用靜態(tài)聯(lián)網(wǎng)
DEVICE=eth0:0
IPADDR=10.10.10.10
NETMASK=255.0.0.0
ONPARENT=yes
注意:service network restart 生效
配置網(wǎng)絡(luò)文件可參考/usr/share/doc/initscripts-*/sysconfig.txt
- 網(wǎng)絡(luò)配置
Linux 網(wǎng)絡(luò)屬性配置的tui(text user interface):
system-config-network-tui
setup
注意:記得重啟網(wǎng)絡(luò)服務(wù)方能生效
配置當(dāng)前主機(jī)的主機(jī)名:
hostname [HOSTNAME]
/etc/sysconfig/network
HOSTNAME=
網(wǎng)絡(luò)接口配置-bonding
Bonding就是 將多塊網(wǎng)卡綁定同一IP地址對外提供服務(wù)想际,可以實(shí)現(xiàn)高可用或者負(fù)載均衡培漏。當(dāng)然,直接給兩塊網(wǎng)卡設(shè)置同一IP地址是不可能的胡本。通過bonding牌柄,虛擬一塊網(wǎng)卡對外提供連接,物理網(wǎng)卡的被修改為相同的MAC 地址侧甫。
- Bonding 工作模式
Mode 0 (balance-rr)
輪轉(zhuǎn)(Round-robin )策略:從頭到尾順序的在每一個slave接口上面發(fā)送數(shù)據(jù)包珊佣。本模式提供負(fù)載均衡和容錯的能力
Mode 1 (active-backup)
活動- 備份(主備)策略:只有一個slave被激活,當(dāng)且僅當(dāng)活動的slave 接口失敗時才會激活其他slave披粟。為了避免交換機(jī)發(fā)生混亂此時綁定的MAC 地址只有一個外部端口上可見
Mode 3 (broadcast)
廣播策略:在 所有的slave 接口上傳送所有的 報文, 提供容錯能力
active-backup 咒锻、balance-tlb 和 和 balance-alb模式不需要交換機(jī)的任何特殊配置。其他綁定模式需要配置交換機(jī)以便整合鏈接 守屉。如:Cisco式交換機(jī)需要在模式0惑艇、2和3中使用EtherChannel ,但在 模式4中要需要LACP和EtherChannel
- Bonding 配置
先關(guān)閉NetworkManager服務(wù):service NetworkManger stop
創(chuàng)建bonding 設(shè)備的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0”
IPADDR=172.10.10.10
PREFIX=24
GATEWAY=172.10.10.254
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
查看bond0狀態(tài):/proc/net/bonding/bond0
miimon 是用來進(jìn)行鏈路監(jiān)測的拇泛。如果miimon=100 滨巴,那么系統(tǒng)每100ms 監(jiān)測一次鏈路連接狀態(tài),如果有一條線路不通就轉(zhuǎn)入另一條線路
刪除bond0
ifconfig bond0 down
rmmod bonding
詳細(xì)幫助:
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
yum install kernel-doc*
https://www.kernel.org/doc/Documentation/networking/bonding.txt
CentOS 7 網(wǎng)絡(luò)屬性配置
CentOS 6之前俺叭,網(wǎng)絡(luò)接口使用連續(xù)號碼命名:eth0 恭取、eth1 等,當(dāng)增加或刪除網(wǎng)卡時,名稱可能會發(fā)生變化
CentOS 7使用基于硬件,設(shè)備拓?fù)浜驮O(shè)置類型命名:
(1)網(wǎng)卡命名機(jī)制
systemd 對網(wǎng)絡(luò)設(shè)備的命名方式
(a)如果Firmware 或BIOS 為主板上集成的設(shè)備提供的索引信息可用熄守,且可預(yù)測則根據(jù)此索引進(jìn)行命名蜈垮,例如eno1
(b)如果Firmware或BIOS為PCI-E擴(kuò)展槽所提供的索引信息可用,且可預(yù)測裕照,則根據(jù)此索引進(jìn)行命名攒发,例如ens1
(c)如果硬件接口的物理位置信息可用,則根據(jù)此信息進(jìn)行命名牍氛,例如enp2s0
(d)如果用戶顯式啟動晨继,也可根據(jù)MAC 地址進(jìn)行命名,enx2387a1dc56
(e)上述均不可用時搬俊,則使用傳統(tǒng)命名機(jī)制
基于BIOS 支持啟用biosdevname 軟件
內(nèi)置網(wǎng)卡:em1,em2
pci 卡:pYpX Y :slot ,X:port
(2)名稱組成格式
en: Ethernet 有線局域網(wǎng)
wl: wlan 無線局域網(wǎng)
ww: wwan 無線廣域網(wǎng)
名稱類型:
o<index>:集成設(shè)備的設(shè)備索引號
s<slot>:擴(kuò)展槽的索引號
x<MAC>:基于MAC地址的命名
p<bus>s<slot>:enp2s1
- 網(wǎng)卡設(shè)備的命名過程:
第一步:
udev, 輔助工具程序/lib/udev/rename_device
/usr/lib/udev/rules.d/60-net.rules
第二步:
biosdevname 會根據(jù)/usr/lib/udev/rules.d/71-biosdevname.rules
第三步:
通過檢測網(wǎng)絡(luò)接口設(shè)備紊扬,根據(jù)/usr/lib/udev/rules.d/75-net-description
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
- 采用傳統(tǒng)命名方式(修改網(wǎng)卡名稱為eth)
方式一
(1)編輯/etc/default/grub 配置文件
GRUB_CMDLINE_LINUX ="rhgb quiet net.ifnames=0"
(2)為grub2 生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3)重啟系統(tǒng)
方式二
(1)編輯/boot/grub2/grub.cfg文件
GRUB_CMDLINE_LINUX ="rhgb quiet net.ifnames=0"
(2)重啟生效
Centos7網(wǎng)絡(luò)配置工具
hostnamectl
- 使用hostnamectl修改主機(jī)名
CentOS6 之前主機(jī)名配置文件:/etc/sysconfig/network
CentOS7 主機(jī)名配置文件:/etc/hostname ,默認(rèn)沒有這個文件唉擂,通過DNS 反向解析獲取主機(jī)名餐屎,主機(jī)名默認(rèn)為 :localhost.localdomain
顯示主機(jī)名信息
hostname
hostnamectl status 顯示更詳細(xì)的信息
設(shè)置主機(jī)名(創(chuàng)建并修改文件并生效)
hostnamectl set-hostname danran.example.com
刪除文件,恢復(fù)主機(jī)名localhost.localdomain
CentOS 7 網(wǎng)絡(luò)配置工具
圖形工具:nm-connection-editor
字符配置tui工具:nmtui
命令行工具:nmcli
nmcli
地址配置工具:nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device - show and manage network interfaces
nmcli device help
connection - start, stop, and manage network connections
nmcli connection help
修改IP地址等屬性:
#nmcli connection modify IFACE [+|-]setting.property value
setting.property:ipv4.addresses ipv4.gateway ipv4.dns1 ipv4.method manual | auto
修改配置文件執(zhí)行生效:systemctl restart network
nmcli con reload
nmcli命令生效:nmcli con down eth0 ;nmcli con up eth0
使用nmcli配置網(wǎng)絡(luò)
NeworkManager 是管理和監(jiān)控網(wǎng)絡(luò)設(shè)置的守護(hù)進(jìn)程設(shè)備即網(wǎng)絡(luò)接口玩祟,連接是對網(wǎng)絡(luò)接口的配置腹缩。一個網(wǎng)絡(luò)接口可有多個連接配置,但同時只有一個連接配置生效
顯示所有包括不活動連接
nmcli connection show
顯示所有活動連接
nmcli connection show --active
顯示網(wǎng)絡(luò)連接配置
nmcli con show "System eth0“
顯示設(shè)備狀態(tài)
nmcli dev status
顯示網(wǎng)絡(luò)接口屬性
nmcli dev show eth0
創(chuàng)建新連接default,IP自動通過dhcp 獲取
nmcli con add con-name default type Ethernet ifname eth0
刪除連接
nmcli con delete default
創(chuàng)建新連接static藏鹊,指定靜態(tài)IP润讥,不自動連接
nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254
啟用static 連接配置
nmcli con up static
啟用default 連接配置
nmcli con up default
查看幫助
nmcli con add help
修改連接設(shè)置
nmcli con mod“static” connection.autoconnect no
nmcli con mod “static” ipv4.dns 172.25.X.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
DNS設(shè)置,存放在/etc/resolv.conf文件中
PEERDNS=no 表示當(dāng) 當(dāng)IP 通過dhcp 自動獲取時盘寡,dns 仍是 手動設(shè)置楚殿,不自動獲取。等價于下面命令:
nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
nmcli命令與ifcfg-*文件對比
nmcli con mod | ifcfg-* 文件 |
---|---|
ipv4.method | manual BOOTPROTO=none |
ipv4.method auto | BOOTPROTO=dhcp |
ipv4.addresses “192.0.2.1/24 192.0.2.254 | IPADDR0=192.0.2.1 PREFIX0=24 GATEWAY0=192.0.2.254 |
ipv4.dns 8.8.8.8 | DNS0=8.8.8.8 |
ipv4.dns-search example.com | DOMAIN=example.com |
ipv4.ignore-auto-dns true | PEERDNS=no |
connection.autoconnect yes | ONBOOT=yes |
connection.id eth0 | NAME=eth0 |
connection.interface-name eth0 | DEVICE=eth0 |
802-3-ethernet.mac-address . . . | HWADDR= . . . |
網(wǎng)絡(luò)配置文件
設(shè)備配置被保存在文本文件中
/etc/sysconfig/network-scripts/ifcfg-<name>
幫助文檔列出完整選項(xiàng)列表:/usr/share/doc/initcripts-*/sysconfig.txt
靜態(tài)配置 | 動態(tài)配置 |
---|---|
DEVICE=ethX | DEVICE=ethX |
HWADDR=0:02:8A:A6:30:45 | HWADDR=0:02:8A:A6:30:45 |
IPADDR=192.168.0.123 | BOOTPROTO=dhcp |
NETMASK=255.255.255.0 | ONBOOT=yes |
GATEWAY=192.168.0.254 | Type=Ethernet |
ONBOOT=yes | |
Type=Ethernet |
nmcli命令:
修改連接配置后竿痰,需要重新加載配置
nmcli con reload
nmcli con down “system eth0” 可被自動激活
nmcli con up “system eth0”
nmcli dev dis eth0 禁用網(wǎng)卡脆粥,訪止被自動激活
圖形工具
nm-connection-editor
字符工具
nmtui
nmtui-connect
nmtui-edit
nmtui-hostname
nmcli示例:
nmcli connection show 列出所有網(wǎng)卡的配置文件
nmcli connection show eth1-lan 顯示eth1網(wǎng)卡的eth1-lan配置文件的詳細(xì)信息
nmcli connection modify eth16777 connection.id eth1 修改eth1677網(wǎng)卡的配置文件NAME為eth1-dan
nmcli connection delete eth1 刪除eth1網(wǎng)卡的配置文件
nmcli connection add con-name eth1-lan type ethernet ifname eth1 生成eth1網(wǎng)卡上名稱為eth1-lan新配置文件,類型為ethernet影涉,ifname指定接口
nmcli connection modify eth1-lan connection.autoconnect yes ipv4.method manual ipv4.addresses 172.10.10.100/24 ipv4.gateway 172.16.0.1 ipv4.dns 172.16.0.1
修改eth1-lan配置文件的IP变隔,connection.autoconnect yes為開機(jī)自動連接,ipv4.method manual為選擇手動分配IP蟹倾,ipv4.method auto為選擇自動分配IP匣缘,修改網(wǎng)關(guān)和dns為172.16.0.1
nmcli connection up eth1-lan 啟用eth1網(wǎng)卡的eth1-lan配置文件
nmcli connection reload 從系統(tǒng)中重新加載配置文件
對網(wǎng)卡添加多個IP
nmcli connection modify eth1 +ipv4.addresses 172.17.0.1/24 添加eth1網(wǎng)卡wan第二個地址,eth1為連接名鲜棠,而非設(shè)備名
nmcli connection modify eth1 -ipv4.addresses 172.17.0.1/24 刪除eth1第二個地址孵户,eth1為連接名
nmcli connection up eth1 啟用eth1網(wǎng)卡配置文件
nmcli device disconnect eth1 斷開網(wǎng)絡(luò)層,即禁用網(wǎng)絡(luò)層IP
nmcli device show eth1 顯示eth1的設(shè)備信息和狀態(tài)
nmcli device connect eth1 連接eth1網(wǎng)卡的網(wǎng)絡(luò)層
nmcli device dis eth0 禁用網(wǎng)卡岔留,訪止被自動激活
nmcli 實(shí)現(xiàn)bonding
添加bonding 接口
nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup
添加從屬接口
nmcli con add type bond-slave ifname ens7 master mybond0
nmcli con add type bond-slave ifname ens3 master mybond0
注:如無為從屬接口提供連接名,則該名稱是接口名稱加類型構(gòu)成
要啟動綁定检柬,則必須首先啟動從屬接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
啟動綁定
nmcli con up mybond0
- 示例:
nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup con-name為bond0接口文件献联,type類型為bond,ifname指定接口何址,工作模式為mode active-backup
nmcli connection modify bond0 ipv.4method manual ipv4.addresses 192.168.0.10/24 添加bond0IP
nmcli connection add type bond-slave ifname eth0 master bond0 將eth0網(wǎng)卡添加到bond0
nmcli connection up bond-slave-eth1 啟用bond的從設(shè)備eth1
nmcli connection down bond0 停止bond0設(shè)備
nmcli connection delete bond0 刪除bond0的配置文件
網(wǎng)絡(luò)組Network Teaming
網(wǎng)絡(luò)組:是將多個網(wǎng)卡聚合在一起方法里逆,從而實(shí)現(xiàn)冗錯和提高吞吐量
網(wǎng)絡(luò)組不同于舊版中bonding 技術(shù),提供更好的性能和擴(kuò)展性
網(wǎng)絡(luò)組由內(nèi)核驅(qū)動和teamd 守護(hù)進(jìn)程實(shí)現(xiàn).
多種方式runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control Protocol)
網(wǎng)絡(luò)組
啟動網(wǎng)絡(luò)組接口不會自動啟動網(wǎng)絡(luò)組中的port接口
啟動網(wǎng)絡(luò)組接口中的port接口總會自動啟動網(wǎng)絡(luò)組接口
禁用網(wǎng)絡(luò)組接口會自動禁用網(wǎng)絡(luò)組中的port接口
沒有port接口的網(wǎng)絡(luò)組接口可以啟動靜態(tài)IP連接
啟用DHCP連接時用爪,沒有port接口的網(wǎng)絡(luò)組會等待port接口的加入創(chuàng)建網(wǎng)絡(luò)組接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 連接名原押,INAME 接口名
JSON 指定runner方式
格式:'{"runner": {"name": "METHOD"}}'
METHOD可以是broadcast,roundrobin,ctivebackup,loadbalance,lacp
- 創(chuàng)建port接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME 連接名
INAME 網(wǎng)絡(luò)接口名
TEAM 網(wǎng)絡(luò)組接口名
連接名若不指定,默認(rèn)為team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
INAME 設(shè)備名 CNAME 網(wǎng)絡(luò)組接口名或port接口
- 網(wǎng)絡(luò)組示例:
nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}'
nmcli con mod team0 ipv4.addresses 192.168.1.100/24
nmcli con mod team0 ipv4.method manual
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
nmcli con up team0
nmcli con up team0-eth1
nmcli con up team0-eth2
teamdctl team0 state 查看team0的狀態(tài)
nmcli dev dis eth1 禁用網(wǎng)卡eth1
實(shí)驗(yàn):創(chuàng)建網(wǎng)絡(luò)組
ip link
nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
nmcli con mod team0 ipv4.addresses '192.168.0.100/24'
nmcli con mod team0 ipv4.method manual
nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
teamdctl team0 state查看tesm0的狀態(tài)
ping -I team0 192.168.0.254
nmcli dev dis eno1
teamdctl team0 state
nmcli con up team0-port1
nmcli dev dis eno2 禁用網(wǎng)卡eno2
teamdctl team0 state
nmcli con up team0-port2
teamdctl team0 state
網(wǎng)絡(luò)組配置文件
/etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-team0-eth1
DEVICE=eth1
DEVICETYPE=TeamPor
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes
刪除網(wǎng)絡(luò)組
nmcli connection down team0
teamdctl team0 state
nmcli connection show
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
nmcli connection show
網(wǎng)橋
橋接:把一臺機(jī)器上的若干個網(wǎng)絡(luò)接口“連接”起來偎血。其結(jié)果是诸衔,其中一個網(wǎng)口收到的報文會被復(fù)制給其他網(wǎng)口并發(fā)送出去。以使得網(wǎng)口之間的報文能夠互相轉(zhuǎn)發(fā)颇玷。網(wǎng)橋就是這樣一個設(shè)備笨农,它有若干個網(wǎng)口,并且這些網(wǎng)口是橋接起來的帖渠。與網(wǎng)橋相連的主機(jī)就能通過交換機(jī)的報文轉(zhuǎn)發(fā)而互相通信谒亦。
主機(jī)A 發(fā)送的報文被送到交換機(jī)S1 的eth0 口,由于eth0與eth1 、eth2 橋接在一起份招,故而報文被復(fù)制到eth1 和eth2 切揭,并且發(fā)送出去,然后被主機(jī)B和交換機(jī)S2接收到锁摔。而S2又會將報文轉(zhuǎn)發(fā)給主機(jī)C 廓旬、D。
- 配置實(shí)現(xiàn)網(wǎng)橋
創(chuàng)建軟件網(wǎng)橋
nmcli con add type bridge con-name br0 ifname br0
nmcli connection modify br0 ipv4.addresses 192.168.74.100/24 ipv4.method manuall
nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0
查看網(wǎng)橋
cat /etc/sysconfig/network-scripts/ifcfg-br0
cat /etc/sysconfig/network-scripts/ifcfg-br0-port0 brctl show
刪除網(wǎng)橋 brctl delbr br0
刪除網(wǎng)橋中網(wǎng)卡 brctl delif eth0
注意:NetworkManager 只支持以太網(wǎng)接口接口連接到網(wǎng)橋鄙漏,不支持聚合接口
- 測試網(wǎng)絡(luò)工具
在命令行下測試網(wǎng)絡(luò)的連通性
顯示主機(jī)名
hostname
測試網(wǎng)絡(luò)連通性
ping
mtr
顯示正確的路由表
ip route
確定名稱服務(wù)器使用:
nslookup
host
dig
跟蹤路由
traceroute
tracepath
- 網(wǎng)絡(luò)客戶端工具
ftp嗤谚,lftp
子命令:get、mget怔蚌、ls巩步、help
lftp [-p port] [-u user[,password]] SERVER
lftpget URL
wget [option]... [URL]...
-q:靜默模式
-c:斷點(diǎn)續(xù)傳
-O:保存位置
--limit-rate=: 指定傳輸速率,單位K,M等 等
links URL
--dump
--source