網絡基本配置
-----------------------------------------------------------------------------------------------------------------------------------------------
DHCP:動态主機配置協定,自動擷取ip服務

基本網絡配置
<1>将Linux主機接入到網絡,需要配置網絡相關設定。
<2>一般包括如下内容:
主機名,便于管理,隻在本機上有意義,但不具有網絡功能
IP/netmask
路由:預設網關
DNS伺服器
主DNS伺服器
次DNS伺服器
第三DNS伺服器
主機名:
centos 6:臨時改主機名 hostname,永久改/etc/sysconfig/network,改完後再臨時改一下即可,然後改./etc/hosts,添加自己新的主機名
centos7裡hostnamectl :hostname管理工具
IP/netmassk:
CentOS 6:
網卡命名:eth0 、eth1、eth2……
lo網卡:loopback網卡,回環網卡,隻要裝置安裝tcp/ip協定,就肯定有lo網卡,127.0.0.1
dmesg | grep eth 可以檢視網卡名,圖中所示e1000
或者ethtool -i eth0
修改網卡名以及網卡與mac對應關系:/etc/udev/rules.d/70-persistent-net.rules,之後輸入modprobe -r e1000解除安裝網卡驅動,再加載網卡驅動modprobe e1000(e1000為網卡驅動名),網卡名可更改
網絡配置方式
靜态指定:
ifconfig, route, netstat
ip: object {link, addr, route}, ss, tc
system-config-network-tui,setup
配置檔案
動态配置設定:
DHCP: Dynamic Host Configuration Protocol
ifconfig指令:顯示已經啟用的網卡資訊
ifconfig eth0 up 啟用網卡
ifconfig eth0 down 禁用eth0網卡
ifconfig -a 顯示所有網卡,被禁用的網卡不顯示ip資訊
ip a 指令可以看網卡資訊,up是啟用,down是禁用
ifdown eth0,禁用網卡,此指令依賴于配置檔案,如果網卡配置檔案裡沒有資訊,将無作用
ifconfig[interface]
ifconfig eth1 172.20.0.123 臨時更改
ifconfig 網卡名 IP/netmask
tcpdump -i 網卡名 icmp :對網卡抓icmp包
ifconfig eth0:1 192.168.1.1/24 對eth0起别名,ifconfig後eth0處顯示eth0:1
注意:立即生效
啟用混雜模式:[-]promisc
網卡配置檔案目錄:/etc/sysconfig/network-scripts
該目錄下ifcfg-eth0:更改網卡資訊的檔案,更改後service NetworkManager restart重新開機服務激活,沒有作用就ifconfig 網卡 down後再ifconfig 網卡 up可激活
route -n 檢視路由記錄
route add -host x.x.x.x dev eth0 增加路有記錄,加的是一個裝置ip,單機路由
route del …… 删除路由記錄
route add net x.x.x.x dev eth0 增加路由記錄,加的是一個網段,網絡路由
實際應用中實體網段和邏輯網段都在同一個網段中
/proc/sys/net/ipv4/ip_foward 将計算機啟用路由功能
兩個路由器分成3個網段,實作了多路由跨網段通訊
1.網絡
A:172.20.0.6/16 gw 172.20.0.200
R1:172.20.0.200/16 gw10.0.0.1/8
R2:10.0.0.2/8 gw 192.168.32.200/24
B:192.168.32.7/24 gw 192.168.32.200
2.啟動兩個路由器,echo 1>/proc/sys/net/ipv4/ip_foward
R1 route add -net B的ip gw 10.0.0.2
R2 route add -net A的(ip末尾為0) gw 10.0.0.1
實驗中路由器是僅主機模式
網關的作用就是為了添加預設路由
邊界路由器可以加預設網關0.0.0.0
一個網卡綁兩個ip:圖形界面可以直接添加,或者/etc/sysconfig/network-scripts/ifcfg-eth0裡添加ip;
第二種:service NetworkManager stop,然後cp ifcfg-eth0 ifcfg-eth0:1,繼續修改/etc/sysconfig/network-scripts/ifcfg-eth0,最後service NetworkManager restart
配置動态路由
路由協定:路由間互相交換各自的路由記錄資訊以達到整個網絡路由器通訊
配置檔案中:
動态配置
DEVICE=ethx
HWADDR=xx:xx:xx:xx:xx:xx,此行最好不要添加,防止更換網卡後系統無法識别新網卡
BOOTPROTO=dhcp
ONBOOT=yes 此行預設yes
靜态配置
IPADDR=x.x.x.x
PREFIX=x 或者NETMASK=x.x.x.x
GATEWAY=x.x.x.x
DNS1=x.x.x.x
DNS2=x.x.x.x
ONBOOT=yes
通過守護程序擷取動态路由
安裝quagga包
支援多種路由協定:RIP、OSPF和BGP
指令vtysh配置
netstat -tn 顯示本機通過tcp協定和哪些裝置在連接配接
netstat -tnl 顯示本機和哪些裝置有監聽狀态
netstat -tnla 顯示本機通過tcp協定和哪些裝置在連接配接和監聽
-t: tcp協定相關
-u: udp協定相關
-w: raw socket相關
-l: 處于監聽狀态
-a: 所有狀态
-n: 以數字顯示IP和端口
-e:擴充格式
-p: 顯示相關程序及PID
netstat -I網卡号 指定網卡,和ifconfig -s 網卡号一樣
netstat指令逐漸被ss代替
ss -l 顯示本地打開的所有端口
ss -pl顯示每個程序具體打開的socket
ss -t -a 顯示所有tcpsocket
ss -u -a 顯示所有的UDP Socekt
ss -o state established '( dport= :sshor sport = :ssh)' 顯示所有已建立的ssh連接配接
ss -o state established '( dport= :http or sport = :http )' 顯示所有已建立的HTTP連接配接
ss -s 列出目前socket詳細資訊
ip指令
檢視、修改路由表
ip addr
ip a a 添加位址
ip addr add 1.1.1.1/24 dev eth1給eth1增加ip
ip addr add 1.1.1.1/24 dev eth1 label eth:1 給網卡設别名
ip addr del 1.1.1.1/24 dev eth1,删除位址
ip addr flush eth1 删除網卡全部額外的ip位址
ip addr下global和link差別,假設我一個網卡上有兩個ip,global狀态下ping該網卡随便一個ip都會通,link狀态下隻能是網口号對應ip上才能通
ip route add 2.2.2.0/24 via 網關ip 增加路由表
ip route delete ……
ip route flush dev eth1 清空路由表
網絡配置檔案/etc/sysconfig/network-scripts/ipcfg-eth0,ifcfg-eth0:2,類似這種帶冒号的隻能手動添加,無法自動擷取ip
ONBOOT:在系統引導時是否激活此裝置
TYPE:接口類型;常見有的Ethernet, Bridge
UUID:裝置的惟一辨別
IPADDR:指明IP位址
NETMASK:子網路遮罩
GATEWAY: 預設網關
DNS1:第一個DNS伺服器指向
DNS2:第二個DNS伺服器指向,改完dns之後service network restart,/etc/resolv.conf有dns位址說明配置成功
USERCTL:普通使用者是否可控制此裝置
PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server配置設定的dns伺服器指向資訊直接覆寫至/etc/resolv.conf檔案中
DOMAIN:自動補域名,ping www
Bonding:多網卡綁定一個ip
Bonding工作模式
Mode 0 輪流模式
Mode 1 主備模式
Mode 3 廣播模式,兩個網卡走一模一樣的資料
active-backup、balance-tlb和balance-alb模式不需要交換機的任何特殊配置。其他綁定模式需要配置交換機以便整合連結。如:Cisco 交換機需要在模式0、2 和3 中使用EtherChannel,但在模式4中需要LACP和EtherChannel
實作Mode 0模式:
Bonding
多塊網卡綁定到一個ip
建立bonding配置檔案,/etc/sysconfig/network-scripts/ifcfg-bond0
内容格式
DEVICE=bond0
BOOTPROTO=none
PREFIX=x.x.x.x
BONDING_OPTS= “miimon=100 mode=x” miimon表示多少毫秒後探測網卡是否還在工作
再在需要設定bonding的網卡檔案ifcfg-ethx改其配置
MASTER=bond0
SLAVE=yes
USERCTL=no 普通使用者是否可以控制該網卡
檢視bond0狀态/proc/net/bonding/bond0
實驗網卡是僅主機模式
使用傳統命名方式:
(1) 編輯/etc/default/grub配置檔案
GRUB_CMDLINE_LINUX="rhgbquiet net.ifnames=0"
或:修改/boot/grub2/grub.cfg
(2) 為grub2生成其配置檔案
grub2-mkconfig -o /etc/grub2.cfg
(3) 重新開機系統
bonding删除
ifconfig bond0 down
rmmod bonding
centos7網絡配置
采用傳統命名方式,便于統一管理
(1)編輯/etc/default/grub配置檔案
找到GRUB_CMDLINE_LINUX=”rhgb quiet net”這一行加上.ifnames=0
或者修改/boot/grub2/grub.cfg,找到第一個linux16那一行加上.ifnames=0
(2)為grub2生成其配置檔案
grub2-mkconfig -o /etc/grub2.cfg
(3)重新開機系統
圖形配置:nm-connection-editor
字元配置tui工具:nmtui
指令行工具:nmcli
nmcli connection指令有個name名和device名,name名表示連接配接名,一個name名對應/network-scripts/下一個ifcfg-網卡号檔案,是以可以用指令來切換網絡環境
nmcli connection add con-name eth0-aa ifname eth0 type ethernet ipv4.method manual ipv4.address .../...
增加 自定義名字 名字 針對eth0設定 以太網類型 設定ip為手動指定 設定ipv4位址
不設定ipv4.method manual 會造成ip将自動擷取,本條指令執行便無效果
nmcli dev disconnect eth0斷開eth0網卡連接配接
nmcli dev connect eth0啟用eth0網卡連接配接
設定好nmcli檔案後,使用指令nmcli connection up eth0-aa可以切換剛配置的eth-aa 的網絡環境
nmcli connection modify eth0-aa con-name eth0-bb
将eth0-aa的配置環境改名為eth0-bb
nmcli connection delete eth0 删除網卡eth0網絡環境檔案
nmcli connection modify eth0-aa +ipv4.addresses 2.2.2.2/24 給eth0-aa增加位址
nmcli connection modify eth0-aa -ipv4.addresses 2.2.2.2/24 給eth0-aa删減位址
添加bond1指令
nmcli con add type bond con-name mybond ifname mybond mode 1
配置網卡從屬bond
nmcli con add type bond-slave ifname eth0 master mybond
啟動bond
nmcli con up bond-slave-eth0
啟動綁定
nmcli con up mybond
網絡組team
網絡組:将多個網卡聚合在一起,進而實作冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供了更好的性能和擴充性
網絡組由核心驅動和teamd守護程序實作
多種方式 runner方式
broadcast
roundrobin
activebackup
loadbalance
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME連接配接名
INAME網絡接口名
TEAM網絡組接口
JSON指定runner方式
格式:’{“runner”. {“name”: ”method”}}’
method可以是broadcast、roundrobin、activebackup、loadbalance
建立接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME連接配接名
INAME網絡接口名
TEAM網絡組接口
多次建立接口後啟用接口
nmcli con up CNAME
啟用team需要啟用team一次,分别啟用各網卡一次
斷開連接配接
nmcli dev dis INAME
網絡組删除
nmcli connection down team0
teamdctl team0 state
nmcli connection show
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1 有幾個網卡綁定team就删除幾個
網絡用戶端工具
ftp,lftp:子指令:get、mget、ls、help
ftp工具,指令行式連接配接ftp需要填寫使用者名,預設ftp或者anonymous
ftp進入後會有界面
ls:檢視ftp檔案清單
!ls:檢視客戶機檔案清單
lcd:檢視用戶端目前目錄位置
get 檔案名:下載下傳該檔案
put 檔案名:上傳該檔案
mget 檔案名1 檔案名2 …:下載下傳檔案1、檔案2…
mput 檔案名1 檔案名2 …:上傳檔案1、檔案2…
ftp不支援補全
lftp工具,ftp更新版,預設ftp登入,增添顔色,支援linux的tab補全,
lftp[-p port] [-u user[,password]] SERVER
lftpgetURL
lftpget ftp://...... 從ftp下載下傳檔案
wget不僅支援ftp協定,還支援http協定
wget[option]... [URL]...
-q: 靜默模式
-c: 斷點續傳
-P:儲存在指定目錄
-O: 儲存為指定的檔案名 wget http://... -o /app/file,從網站下載下傳檔案儲存為/app下file
--limit-rate=: 指定傳輸速率,機關K,M等
links URL,純字元界面浏覽器
--dump,links URL --dump提取純文字
--source,直接看源代碼