網絡屬性配置
回顧:
TCP/IP協議棧:物理層,數據鏈路層,網絡層,傳輸層,應用層, 鏈路數據層:以太網幀 網絡層:IP報文 傳輸層:TCP,UDP 應用層:Http,https,ftp,ldap 以太網幀:MTU 最大傳輸單元 (1500)
概述:
1.將Linux加入到網絡中,一般包括如下內容:
主機名 IP/mask 路由:默認網關 DNS服務器: 主DNS服務器 次DNS服務器 第三DNS服務器
2.網絡配置方式:
靜態指定: ifcfg: ifconfig:配置IP route:路由 netstat:狀態及統計數據查看 ip: object link:地址和掩碼 addr:接口 route:路由 ss:狀態及統計數據查看 tc: system-config-network-tui (setup) CentOS 7新增工具: nmcli:命令行工具 nmtui:text Windows工具 注意: (1)DNS服務器指定 配置文件:/etc/resolv.conf (2)主機名 hostname命令 臨時有效 centos6:/etc/sysconfig/network centos7:/etc/hostname centos7 :hostnameectl 配置文件: RedHet及相關發行版 /etdc/sysconfig/network-scripts/ifcfg-NETCARD_name 動態分配:依賴于本地網絡中的DHCP服務 DHCP: Dynamic Host Configuration Protocol 注意:命令指定能使網絡配置臨時有效,但不永久生效,只是送到送行中的內核執行,關機消失 修改配置文件不能馬上生效,但是永久生效的,可以重啟系統或運行命令重讀配置文件.
3.網絡接口命名方式:
傳統命名: 以太網:ethX ppp網絡:pppX 基于BIOS支持啟用biosdevname軟件(DELL公司) 內置網卡: em1,em2 pci卡: pYpX Y: slot ,X:port 可預測命名方案: 支持多種不同的命名機制: Firware,拓撲結構 (1),如果Firware或Biso為主板上集成的設備提供的索引信息可用,則根據此索引進行命名,如eno1,eno2... (2),如果Firware或Biso為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,如ens1,ens2... (3)如果硬件接口的物理位置信息可用,則根據其信息命名,如enp2so.... (4)如果用戶顯式定義,也可根據MAC地址命名,例如enx121612e10.... 注意:上述均不可用,則仍然使用傳統方式命名: 命名格式的組成: en:ethernet 以太網 wl:wlan 無線局域網 ww:wwan 無線廣域網 名稱的類型: o<index>:集成設備的設備索引號 s<slot>:擴展槽的索引號 x<MAC>:基于MAC地址的命名 p<bus>s<lost>:基于總線及槽的拓撲結構進行命名
網卡命名方式
網卡設備的命名過程: 第一步: 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 ID_NET_NAME_ONBOARD ID_NET_NAME_SLOT ID_NET_NAME_PATH 改用傳統命名方式 (1) 編輯/etc/default/grub配置文件 GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"或:修改/boot/grub2/grub.cfg (2) 為grub2生成其配置文件 grub2-mkconfig -o /etc/grub2.cfg (3) 重啟系統
Centos7 網絡屬性配置
rhel6之前,網絡接口使用連續號碼命名: eth0、 eth1等,當增加或刪除網卡時,名稱可能會發生變化 rhel7使用基于硬件,設備拓撲和設置類型命名: (1) 網卡命名機制 systemd對網絡設備的命名方式 (a) 如果Firmware或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1 (b) 如果Firmware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此索引進行命名,例如ens1 (c) 如果硬件接口的物理位置信息可用,則根據此信息進行命名,例如enp2s0 (d) 如果用戶顯式啟動,也可根據MAC地址進行命名,enx2387a1dc56 (e) 上述均不可用時,則使用傳統命名機制
網卡信息注釋:
Centos5-6: eth0 Link encap:Ethernet HWaddr(硬件地址) 52:54:00:C6:91:A4 inet addr:10.141.8.137 Bcast:10.141.63.255 Mask:255.255.192.0 UP BROADCAST(廣播) RUNNING(運行) MULTICAST(組播) MTU:1500(最大傳輸單元) Metric:1 RX packets:1255795 errors:0 dropped:0 overruns:0 frame:0 TX packets:952955 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen((傳輸隊列長度)):1000 RX bytes:130858806 (124.7 MiB) TX bytes:169199814 (161.3 MiB) Centos7: eno16777736: flags(標志位)=4163<UP(啟動狀態),BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.19.219 netmask 255.255.255.0 broadcast 172.18.19.255(廣播地址) inet6 fe80::20c:29ff:fe42:6eb9 prefixlen 64 scopeid 0x20<link> ether(以太網地址) 00:0c:29:42:6e:b9 txqueuelen(傳輸隊列長度) 1000 (Ethernet) RX packets(接收報文數量) 43611 bytes 56377913 (53.7 MiB) RX errors(錯誤個數) 0 dropped(丟包數量) 0 overruns(溢出) 0 frame(幀) 0 TX packets(傳出報文數量) 13910 bytes 1806137 (1.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions(沖突報文個數) 0
配置網絡命令
配置主機名
hostname centos6
查看:hostname 配置:hostname HOSTNAME 臨時有效,重啟無效
hostnamectl
centos7專用 hostname status :顯示當前主機名信息 hostname set-hostname:設定主機名,永久有效
配置DNS服務器指向
配置文件:/etc/resolv.conf nameserver DNS_server_ip 如何測試: (1).連網,可ping外網 dig -t A www.baidu.com (2).無連網. 修改/etc/hosts文件 ,通過ping
ifcfg命令家族:ifconfig,route,netstat
ifocnfig 接口及地址查看和管理
使用用法: 1.ifconfig [-v] [-a] [-s] [interface] ifconfig默認命令,查看運行網卡信息,可指定特定網卡 ifconfig -a:顯示所有網卡信息 ifcondif -S 顯示接口信息 2.ifconfig [-v] interface [aftype] options | address ... #ifconfig IFACE IP/MASK [up|down] 啟動某網卡 ifocnfig eth1 192.168.10.100/24 up #ifconfig IFACE IP netmask NETNASK 更改某網卡的ip及子網掩碼(必須完整格式) ifocnfig eth1 192.168.100.101 netmask 255.255.255.0 #ifconfig interface options|address 3.管理IPV6地址 ifconfig add addr/prefixlen ifcondig del addr/prefixlen 注意:立即送往內核中的tcp/ip協議棧,并生效;
route 路由查看及管理
路由條目類型: 主機路由:目標地址為單個IP 網路路由:目標地址為IP網絡 默認路由:目標為任意網絡: 0.0.0.0 使用方法: route [-CFvnee] route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If] route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If] route [-V] [--version] [-h] [--help] 查看: route -n Destination(目的網絡地址 ) Gateway(下一跳地址) Genmask(目標網絡的掩碼) Flags(標志) Metric(度量值) Ref Use Iface(經過本地的網卡接口) 10.141.0.0 0.0.0.0 55.255.192.0 U 0 0 0 eth0 添加: route add [-net|-host] target [netmask Nm] [gw(下一跳地址) Gw] [[dev] If] 例: 1.[root@wen-7 ~]# route add default gw 172.18.19.1 添加默認網關 [root@wen-7 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.18.19.1 0.0.0.0 UG 0 0 0 eno16777736 2.[root@wen-7 ~]# route add -net 10.0.0.0/8 gw 172.18.19.1 root@wen-7 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.18.19.1 0.0.0.0 UG 100 0 0 eno16777736 10.0.0.0 172.18.19.1 255.0.0.0 UG 0 0 0 eno16777736 刪除: route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If] 例: [root@wen-7 ~]# route del -net 10.0.0.0/8 gw [下一跳地址] [root@wen-7 ~]# route del default 刪除默認路由 [root@wen-7 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.18.19.1 0.0.0.0 UG 100 0 0 eno16777736 172.18.19.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@wen-7 ~]# route del default [root@wen-7 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.18.19.0 0.0.0.0 255.255.255.0 U 100 0 0 eno16777736 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 注意:相同網段,不同掩碼,要多條刪除 配置動態路由 通過守護進程獲取動態路由 安裝quagga包,支持多種格式的RIP、 OSPF和BGP 命令vtysh配置,思科命令
netstat命令:顯示狀態信息
Print network connections, routing tables, interface statistics, masquerade connections, and multi cast memberships 顯示網絡連接,路由表,接口統計數據,地址偽裝連接,多波成員關系 使用方法: (1)顯示路由信息 netstat -rn -r:顯示內核路由表 -n:數字格式 [root@wen-7 ~]# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 172.18.19.1 0.0.0.0 UG0 0 0 eno16777736 172.18.19.0 0.0.0.0 255.255.255.0 U 0 0 0 eno16777736 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 (2)顯示網路連接 netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p] 選項: -t: tcp協議相關連接,連接均有其狀態;FSM(Finate state Machine) -u: udp協議相關 -w: raw socket相關 裸套接字 -l: 處于監聽狀態,等待別人連接;不加的l話,正在建立的連接或正在通信的狀態 -a: 所有狀態 -n: 以數字顯示IP和端口; -e:擴展格式 -p: 顯示相關進程及PID 常用選項: -tan -uan -tnl -unl -tunlp [root@wen-7 ~]# netstat -tan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp0 0 192.168.122.1:530.0.0.0:* LISTEN tcp0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp0 52 172.18.19.219:22172.18.19.1:49819 ESTABLISHED tcp0 0 172.18.19.219:22172.18.19.1:49720 ESTABLISHED tcp6 0 0 :::22 :::*LISTEN tcp6 0 0 ::1:631 :::*LISTEN [root@wen-7 ~]# netstat -uan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp0 0 0.0.0.0:53530.0.0.0:* udp0 0 0.0.0.0:49458 0.0.0.0:* udp0 0 127.0.0.1:323 0.0.0.0:* udp0 0 192.168.122.1:530.0.0.0:* udp0 0 0.0.0.0:67 0.0.0.0:* udp6 0 0 ::1:323 :::* [root@wen-7 ~]# netstat -tnl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp0 0 192.168.122.1:530.0.0.0:* LISTEN tcp0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::*LISTEN tcp6 0 0 ::1:631 :::*LISTEN [root@wen-7 ~]# netstat -unl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp0 0 0.0.0.0:53530.0.0.0:* udp0 0 0.0.0.0:49458 0.0.0.0:* udp0 0 127.0.0.1:323 0.0.0.0:* udp0 0 192.168.122.1:530.0.0.0:* udp0 0 0.0.0.0:67 0.0.0.0:* udp6 0 0 ::1:323 :::* (3)顯示接口統計數據: netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n] # netstat -i 所有接口 # netstat -I<IFACE> 顯示指定網卡的信息 # netstat -IIFACE 配合watch -n 1 查看實時動態信息
ifup 啟用某接口
該命令是讀取網卡配置文件識別的 ifup <iface> 例:
ifdown 禁用某接口
ifdown <iface> 例:
IP命令家族:ip,ss tc
由程序包 iproute 安裝
ip命令
name ip - show / manipulate routing, devices, policy routing and tunnels 查看及管理 路由,設備,策略路由,隧道 使用方法 ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ -force ] -batch filename OBJECT := { link | addr | route|netns } 可簡寫,各子命令也可簡寫 OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] | -n[etns] name } 常用命令:可簡寫 ip link 網絡設備配置 help 顯示簡要使用幫助 (show|list) 顯示設備屬性 set 修改設備屬性 dev name {dev關鍵字 可省略,直接寫設備名} up|down :關閉或開啟設備 multicast on|off 開啟|關閉組播功能 name NAME:重命名網卡名稱 txqlen #:設置隊列長度 mtu NUMber:設置最大傳輸單元,默認1500 netns PID:ns為namespace,用于實現將接口移動到指定的網絡名稱空間 [root@wen-7 ~]# ip netns help Usage: ip netns list ip netns add NAME ip netns set NAME NETNSID ip [-all] netns delete [NAME] ip netns identify [PID] ip netns pids NAME ip [-all] netns exec [NAME] cmd ... ip netns monitor ip netns list-id [root@wen-7 ~]# ip netns add mynet [root@wen-7 ~]# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:0c:29:42:6e:b9 brd ff:ff:ff:ff:ff:ff 3: eno33554984: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:0c:29:42:6e:c3 brd ff:ff:ff:ff:ff:ff 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 5: virbr0-nic: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 500 link/ether 52:54:00:19:66:c2 brd ff:ff:ff:ff:ff:ff [root@wen-7 ~]# ip link set eno33554984 netns mynet [root@wen-7 ~]# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:0c:29:42:6e:b9 brd ff:ff:ff:ff:ff:ff 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 5: virbr0-nic: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 500 link/ether 52:54:00:19:66:c2 brd ff:ff:ff:ff:ff:ff [root@wen-7 ~]# ip netns show mynet [root@wen-7 ~]# ip netns exec mynet ip link show 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 3: eno33554984: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 link/ether 00:0c:29:42:6e:c3 brd ff:ff:ff:ff:ff:ff [root@wen-7 ~]# ip netns del mynet [root@wen-7 ~]# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:0c:29:42:6e:b9 brd ff:ff:ff:ff:ff:ff 3: eno33554984: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000 link/ether 00:0c:29:42:6e:c3 brd ff:ff:ff:ff:ff:ff 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 5: virbr0-nic: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 500 link/ether 52:54:00:19:66:c2 brd ff:ff:ff:ff:ff:ff ip netns 網絡命名空間的管理 help 顯示簡要使用幫助 add 創建指定netns del 刪除指定的netns list 列出所有的Netns exec name COMMADN 在指定netns中執行 命名 ip的命令 ip addr 實現網卡的協議地址管理 ip addr add 增 add IFADDR(地址) dev IFACE(網卡) label IFACE:#:為額外添加的地址指明接口別名.方便ifconfig識別新添加的地址 [root@wen-7 ~]# ip addr add 10.1.1.10/8 dev eno33554984 label eno33554984:1 [broadcast {ADDRESS}]:廣播地址 可省略,根據ip行尾NETMASK自動計算得到; [scope {SCOPE VALUE}]: global:全局可用 link:接口可用 host:僅本機可用 ip addr del 刪 ip addr delete IFADDR dev IFACE ip addr show 查看 或省略show [IFACE]:指定特定的網卡 ip addr flush 清空某個網卡的所有地址 ip addr flush dev IFACE ip route 管理路由表 ip route add ip route add TYPE PREFIX via GW [dev IFACE][src SOURCE_IP] ip route change TYPE PREFIX via GW [dev IFACE][src SOURCE_IP] ip route replace TYPE PREFIX via GW [dev IFACE][src SOURCE_IP] TYPE PREFIX:到達的目標地址 dev name: via ADDRESS:指定下一跳 src ADDRESS:原地址 示例: ip route add 172.16.0.0/24 via 10.1.0.1 dev eth1 src 10.0.20.100 ip route add default via 172.16.0.1 ip route delete ip routh del TYPE PRIFIX 例: [root@wen-7 ~]# ip route del 10.0.0.0/8 ip route show 顯示route表 ip route flush 清空所有路由表 dev IFACE:指定特定的網卡 TYPE PRIFIX:指定網段地址和掩碼,精確清空地址范圍內的路由條目 ip routh get :獲取某條路由條目 ip route get TYPERPIFIX 例: [root@wen-7 ~]# ip route get 172.16.1.0 broadcast 172.16.1.0 dev eno33554984 src 172.16.1.12 cache <local,brd>
SS 命令
ss - another utility to investigate sockets 另一個顯示sockets的工具 SYNOPSIS ss [options] [ FILTER ] options: -t: tcp協議相關連接,連接均有其狀態;FSM(Finate state Machine) -u: udp協議相關 -w: raw socket相關 -l: 處于監聽狀態,等待別人連接;不加的l話,正在建立的連接或正在通信的狀態 -a: 所有狀態 -n: 以數字顯示IP和端口; -e:擴展格式 -p: 顯示相關進程及PID -m:內存用量 -o:計時器信息 FILTER:=[state TCP-STATE][EXPRESSION] 過濾器 tcp-STATE: LISTEN:監聽 ESTABLISEHD:建立的連接 FIN_WAIT1: FIN_WAIT2: SYN-SENT: SYN_RECV: CLOSED: EXPRESSION: dport= sport= 實例:( dport = 22 or sport = :22 ) state ESTABLISHED [root@wen-7 ~]# ss -tan state ESTABLISHED Recv-Q Send-Q Local Address:Port Peer Address:Port 0 52 172.18.19.219:22 172.18.19.1:49819 0 0 172.18.19.219:22 [root@wen-7 ~]# ss -tan '( dport = :22 or sport = :22 )' State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* ESTAB 0 52 172.18.19.219:22 172.18.19.1:49819 ESTAB 0 0 172.18.19.219:22 172.18.19.1:49720 LISTEN 0 128 :::22 常見用法: 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詳細信息
配置文件
IP/NETMASK/GW/DNS /etc/sysconfig/network-scripts/ifcfg-IFACE IFACE:接口名稱 route: /etc/sysconfig/network-scripts/route-IFACE 配置文件需要通過大量的參數來定義接口的屬性;其可通過vim等文本編輯命令直接修改,也可使用相關窗口命名. centos6:setup (system-config-network) centos7:nmtui /etc/sysconfig/network-scripts/ifcfg-IFACE文件詳細介紹 DEVICE:此配置文件應用到的設備名(同IFACE相同) ONBOOT:在系統引導時是否激活此設備 BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp NM_CONTROLLED: NM是NetworkManager的簡寫,此網卡是否接受NM控制;建議CentOS6為“ no” TYPE:接口類型;常見有的Ethernet, Bridge UUID:設備的惟一標識 IPADDR:指明IP地址 NETMASK:子網掩碼 GATEWAY: 默認網關 PREFIX:掩碼長度(可代替NETWASK) IPV6INIT:是否初始化IPV6 HWADDR:對應的設備的MAC地址 DNS1:第一個DNS服務器指向 DNS2:第二個DNS服務器指向 DOMAIN:DNS搜索域 USERCTL:普通用戶是否可控制此設備,一般為no PEERDNS:如果BOOTPROTO的值為“ dhcp”,是否允許dhcp server分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中,默認為yes,允許. 修改網絡配置文件后,不會立刻修改配置.需要網絡服務重啟 網路服務管理: centos6: service 命令 service 服務名稱 {start|status|stop|restart} centos7: systemctl 命令 systemctl {start|status|stop|restart} 服務名稱[.service] 用到非默認網關路由:/etc/sysconfig/network-scripts/route-IFACE 支持兩種配置方式,但不可混用: (1):每行一條路由條目; TARGET via GW 例:10.0.0.0/24 via 192.168.0.1 (2)每三行一個路有條目 ADDRESS#=TARGET NETMASK#=MASK GATEWAY#=NEXTHOP 例: ADDRESS0=192.168.0.0 NETMASK0=255.255.255.0 GATEWAY0=172.16.0.2
單網卡綁定多地址
ip addr 之外,ifocnfig或配置文件都可以,可重復綁定多地址 (1)ifcondig eno22554984:1 192.18.19.12/24 臨時有效 (2)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 del 172.16.1.1/16 dev eth0 label eth0:0 ip addr flush dev eth0 label eth0:0 (3)復制配置文件并修改相關參數 (前提:關閉NetworkManager服務) 永久有效 A.cp ifcfg-eth1 igcfg-eth1:1 B.vim igcfg-eth1:1 BOOTPROTO:必須是靜態iP,不支持動態獲取地址 ONPARENT=yes C.重啟網絡服務 D.ifocnfig,查看是否成功 [root@wen-7 network-scripts]# ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.19.219 netmask 255.255.255.0 broadcast 172.18.19.255 inet6 fe80::20c:29ff:fe42:6eb9 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:42:6e:b9 txqueuelen 1000 (Ethernet) RX packets 49634 bytes 56937122 (54.2 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 18268 bytes 2419679 (2.3 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eno16777736:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.18.19.218 netmask 255.255.255.0 broadcast 172.18.19.255 ether 00:0c:29:42:6e:b9 txqueuelen 1000 (Ethernet)
多網卡綁定單地址
Bonding 就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。 通過bonding,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址。 Bonding的工作模式 Mode 0 (balance-rr) 輪轉( Round-robin)策略:從頭到尾順序的在每一個slave接口上面發送數據包。本模式提供負載均衡和容錯的能力 ? Mode 1 (active-backup) 活動-備份(主備)策略:在綁定中,只有一個slave被激活。 當且僅當活動的slave接口失敗時才會激活其他slave。為了避免交換機發生混亂此時綁定的MAC地址只有一個外部端口上可見 ? Mode 3 (broadcast) 廣播策略:在所有的slave接口上傳送所有的報文。本模式提供容錯能力 binding的所有工作模式可以分為兩種: 多主型工作 主備型工作模式 bonding配置: miimon 是用來進行鏈路監測的。如果miimon=100,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路 ? 查看bond0狀態: /proc/net/bonding/bond ? 關于bonding的詳細配置請參照 /usr/share/doc/kernel-docversion/Documentation/networking/bonding.txt 配置: 1.創建bonding設備的配置文件 vim /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=none BONDING_OPTS= “miimon=100 mode=0” 2.配置 /etc/sysconfig/network-scripts/ifcfg-eth0,可指定多塊網卡 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes USERCTL=no 3.配置 /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth01 BOOTPROTO=none MASTER=bond0 SLAVE=yes USERCTL=no 3.重啟網絡服務,并查看 service network restart ifocnfig
nmcli命令:地址配置工具
NeworkManager是管理和監控網絡設置的守護進程 設備即網絡接口,連接是對網絡接口的配置。一個網絡接口可有多個連接配置,但同時只有一個連接配置生效。 NAME nmcli - command?line tool for controlling NetworkManager SYNOPSIS 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 修改配置文件執行生效: systemctl restart network nmcli con reload nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0 顯示所有包括不活動連接 nmcli con show 顯示所有活動連接 nmcli con show –active 顯示網絡連接配置 nmcli con show "System eth0“ 顯示設備狀態 mcli dev status 顯示網絡接口屬性 nmcli dev show eno16777736 創建新連接default, IP自動通過dhcp獲取 nmcli con add con-name default type Ethernetifname eth0 刪除連接 nmcli con del default 創建新連接static ,指定靜態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 修改連接設置 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
網絡配置文件 設備配置被保存在文本文件中 /etc/sysconfig/network-scripts/ifcfg-<name> 幫助文檔列出完整選項列表: /usr/share/doc/initcripts-*/sysconfig.txt
修改連接配置后,需要重新加載配置 nmcli con reload nmcli con down “system eth0” 可被自動激活 nmcli con up “system eth0” nmcli dev dis eth0 禁用網卡,訪止被自動激活 圖形工具 nm-connection-editor 使用nmcli更改主機名 rhel6之前主機名配置文件: /etc/sysconfig/network rhel7.0主機名配置文件:/etc/hostname ,默認沒有這個文件, 通過DNS反向解析獲取主機名, 主機名默認為:localhost.localdomain 顯示主機名信息 hostname hostnamectl status 創建并修改文件并生效 hostnamectl set-hostname desktopX.example.com 刪除文件,恢復主機名localhost.localdomain DNS設置,存放在/etc/resolv.conf文件中 PEERDNS=no 表示當IP通過dhcp自動獲取時, dns仍是手動設置,不自動獲取。等價于下面命令: nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
網絡組(Network Teaming)
網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量 網絡組不同于舊版中bonding技術,提供更好的性能和擴展性 網絡組由內核驅動和teamd守護進程實現. 多種方式runner broadcast roundrobin(輪流) activebackup loadbalance(平衡負載) lacp (implements the 802.3ad Link Aggregation ControlProtocol) 網絡組特性: 啟動網絡接口不會自動啟動網絡組的port接口 啟動網絡接口中的的port接口不會自動啟動網絡組接口 禁用網絡組接口會自動禁用網絡組中的port接口 沒有port接口的網絡組接口可以啟動靜態IP連接 啟用DHCP連接時,沒有port接口的網絡組會等待port接口的加入 命令: 創建網絡組接口 nmcli con add type team con-name CNAME ifname INAME [config JSON] CNAME 連接名, INAME 接口名 JSON 指定runner方式 格式: '{"runner": {"name": "METHOD"}}' METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp 創建port接口 nmcli con add type team-slave con-name CNAME ifname INAME master TEAM CNAME 連接名 INAME 網絡接口名 TEAM 網絡組接口名 連接名若不指定,默認為team-slave-IFACE nmcli dev dis INAME nmcli con up CNAME INAME 設備名 CNAME 網絡組接口名或port接口 15631134675 示例:(兩塊網卡) nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "loadbalance"}}' nmcli con mod team0 ipv4.addresses 172.18.19.100/24 nmcli con mod team0 ipv4.method manual nmcli con add con-name team0-eth1 type team-slave ifname eno33554984 master team0 nmcli con add con-name team0-eth2 type team-slave ifname eno50332208 master team0 nmcli con up team0 nmcli con up team0-eth1 nmcli con up team0-eth2 teamdctl team0 state ifconfig teamdctl team0 state 測試: ping team0組的ip,順序斷開兩個組內網卡的物理連接,查看ping是否有延遲,通過teamdctl team0 state命令,查看兩塊網卡的狀態. #ping -I team0 192.168.0.254 #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 刪除網絡組: nmcli con del 接口名稱 管理網絡組的配置文件 # /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=TeamPort TEAM_MASTER=team0 NAME=team0-eth1 ONBOOT=yes
測試網絡的命令
在命令行下測試網絡的連通性 顯示主機名 hostname 測試網絡連通性 ping mtr 顯示正確的路由表 ip route 確定名稱服務器使用: nslookup host dig 跟蹤路由 traceroute Tracepath
網絡客戶端工具
ftp,lftp lftp [-p port] [-u user[,password]] SERVER 子命令: get、 mget、 ls、 help lftpget URL wget :下載工具 wget [option]... [URL]... -q: 靜默模式 -c: 斷點續傳 -O: 保存位置 --limit-rates=: 指定傳輸速率 links :命令行瀏覽器 --dump;以文字方式查看網站 --source:查看網站源碼 curl:瀏覽器 直接以源碼方式查看網站 -I:查看網站詳細信息
原創文章,作者:wencx,如若轉載,請注明出處:http://www.www58058.com/44062