網絡基本配置linux
-----------------------------------------------------------------------------------------------------------------------------------------------
centos
DHCP:動態主機配置協議,自動獲取ip服務瀏覽器
基本網絡配置服務器
<1>將Linux主機接入到網絡,須要配置網絡相關設置。網絡
<2>通常包括以下內容:app
主機名,便於管理,只在本機上有意義,但不具備網絡功能ssh
IP/netmasksocket
路由:默認網關tcp
DNS服務器ide
主DNS服務器
次DNS服務器
第三DNS服務器
主機名:
centos 6:臨時改主機名 hostname,永久改/etc/sysconfig/network,改完後再臨時改一下便可,而後改./etc/hosts,添加本身新的主機名
centos7裏hostnamectl :hostname管理工具
IP/netmassk:
CentOS 6:
網卡命名:eth0 、eth一、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
靜態配置
DEVICE=ethx
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
IPADDR=x.x.x.x
PREFIX=x.x.x.x
BONDING_OPTS= 「miimon=100 mode=x」 miimon表示多少毫秒後探測網卡是否還在工做
再在須要設置bonding的網卡文件ifcfg-ethx改其配置
DEVICE=ethx
BOOTPROTO=none
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就刪除幾個
nmcli connection show
網絡客戶端工具
ftp,lftp:子命令:get、mget、ls、help
ftp工具,命令行式鏈接ftp須要填寫用戶名,默認ftp或者anonymous
ftp進入後會有界面
ls:查看ftp文件列表
!ls:查看客戶機文件列表
lcd:查看客戶端當前目錄位置
get 文件名:下載該文件
put 文件名:上傳該文件
mget 文件名1 文件名2 …:下載文件一、文件2…
mput 文件名1 文件名2 …:上傳文件一、文件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,直接看源代碼