class17 網絡管理(二)

IP 地址

它們可唯一標識IP網絡中的每臺設備
每臺主機(計算機、網絡設備、外圍設備)必須具有唯一的地址          
IP 地址由兩部分組成:
    ? 網絡ID: 
    ? 標識網絡
    ? 每個網段分配一個網絡ID
    ? 機 主機 ID: 
    ? 標識單個主機
    ? 由組織分配給各設備

IPv4 地址格式:點分十進制記法

計算 ip
bc ibase=2  obase=8
             let a=2#100100100
強制掃描網絡
ping -f 10.1.250.95 -s 65507  -s: 時間
ping網絡特殊用法
let i=2#1010000000011111110011010101 335674561
   
 ping 335674561
防火墻允許ping
一、禁止Ping
  [root@linuxzgf ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
  二、允許Ping
  [root@linuxzgf ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
防火墻關閉廣播回應
一、禁止回應
  [root@linuxzgf ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  二、允許回應
  [root@linuxzgf ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

IP 地址分類

image

A類:    0NNNNNNN Host  Host   Host    1      8 9 16  17 24  25 32
    Range (1-126)
B類:    10NNNNNN Network  Host   Host    1      8 9    16  17 24  25 32
    Range (128-191)
C類:    110NNNNN Network  Network   Host    1      8 9    16  17   24  25 32
    Range (192-223)
D類:    1110NNNN Multicast Group Multicast    1      8 9            16 17     
    Group   Multicast Group 
        24  25           32
    Range (224-239)

IP 地址分類

128 64 32 16 8 4 2 1
      A 類:0 000 0000 - 0 111 1111: 1-127網絡數:126, 127每個網絡中的主機數:2^24-2默認子網掩碼:255.0.0.0私網地址:10.0.0.0
         B 類:10 00 0000 - 10 11 1111 :128-191網絡數:2^14每個網絡中的主機數:2^16-2默認子網掩碼:255.255.0.0私網地址:172.16.0.0-172.31.0.0C 類:110 0 0000 - 110 1 1111: 192-223網絡數:2^21每個網絡中的主機數:2^8-2默認子網掩碼:255.255.255.0私網地址:192.168.0.0-192.168.255.0
        D 類:組播1110 0000 - 1110 1111: 224-239
       E 類:240-255
公共IP地址
A 1.0.0.0 -9.255.255.255
  11.0.0.0-126.255.255.255B 128.0.0.0-172.15.255.255
  172.32.0.0-191.255.255.255C 192.0.0.0-192.167.255.255
  192.169.0-223.255.255.255
私有IP地址
A 10.0.0.0 到 10.255.255.255B 172.16.0.0 到 172.31.255.255C 192.168.0.0 到 192.168.255.255

特殊地址

0.0.0.0
0.0.0.0 不是一個真正意義上的IP地址。它表示一個集合:所有不清楚的主機和目的網絡。
255.255.255.255
限制廣播地址。對本機來說,這個地址指本網段內( 同一廣播域) 的所有主機
127.0.0.1 ~127.255.255.254
本機回環地址,主要用于測試。在傳輸介質上永遠不應該出現目的地址為“127.0.0.1”的數據包。
224.0.0.0 到239.255.255.255
組播地址,224.0.0.1特指所有主機,224.0.0.2 特指所有路由器。224.0.0.5 指OSPF 路由器,地址多用于一些特定的程序以及多媒體程序
169.254.x.x
如果Windows 主機使用了DHCP 自動分配IP 地址,而又無法從DHCP 服務器獲取地址,系統會為主機分配這樣地址。

跨網絡通信

跨網絡通信:路由
路由分類:
    主機路由
    網絡路由
    默認路由

網絡劃分–子網劃分、合并超網

子網劃分
公式1一個網段的主機數=2^主機位數-2主機ID位數=32-網絡ID位數
         
公式2網絡ID=IP與子網掩碼
                     
公式3劃分子網:
一個大網分成若干個小網
網絡ID向主機ID借位n,子網數2^n
                 
公式4損失IP=(子網數2^n-1)*2
合并超網
主機位向網絡位借位,無損失IP

網絡管理(二) 網絡命令配置、配置文件配置

====網絡命令配置

基本網絡配置

將Linux主機接入到網絡,需要配置網絡相關設置。
一般包括如下內容:
    主機名    IP/mask
    路由:默認網關
    DNS 服務器
        主DNS 服務器
        次DNS 服務器
        第三DNS服務器

網絡配置方式

靜態指定:
ifconfig 命令
    ifconfig [interface]        # ifconfig -a  顯示所有接口
        # ifconfig IFACE [up|down]
    ifconfig interface [aftype] options | address ...        # ifconfig IFACE IP/mask [up]
        # ifconfig IFACE IP netmask MASK
    注意:立即生效;
    啟用混雜模式:[-]promisc
    
    管理IPV6地址:
     add addr/prefixlen
     del addr/prefixlen
     
    ifconfig eth1 192.168.10.101/24 up 
    ifconfig eth1 192.168.10.101 netmask 255.255.255.0ifcfg:
    ifconfig--配置IP,NETMASK
    route--路由
    netstat--狀態及統計數據查看
ip: object 
     link--地址和掩碼
     addr--接口
     route--路由
     ss--狀態統計數據
     tc
system-config-network-tui (setup)
配置文件
RedHat及其相關發行版
/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME  
       
CentOS 7: 新增工具:nmcli, nmtui
nmcll:命令行工具
nmtul:text windows 工具
動態分配:
DHCP: Dynamic Host Configuration Protocol

路由管理命令

查看:route -n
添加:route add
    route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]
    
目標:192.168.1.3 網關:172.16.0.1
    # route add -host 192.168.1.3 gw 172.16.0.1 dev eth0目標: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
        默認路由,網關: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]
           
目標:192.168.1.3 網關:172.16.0.1
    # route del -host 192.168.1.3目標:192.168.0.0  網關:172.16.0.1
    # route del -net 192.168.0.0 netmask 255.255.255.0
    # route del dafault      ***只可以一條一條刪除,不可以指定

配置動態路由

通過守護進程獲取動態路由
    ? 安裝quagga 包,支持多種格式的RIP 、OSPF 和BGP    ? 命令vtysh 配置

netstat 命令

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
顯示網絡連接:
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
常用組合:
-tan, -uan, -tnl, -unl
顯示路由表:
netstat {--route|-r} [--numeric|-n]
  -r:  顯示內核路由表  -n:  數字格式
顯示接口統計數據:
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]# netstat -i  所有接口# netstat -I=IIFACE   指定接口
# netstat -I=eth0# ifconfig -s eno16777736
Iface  MTU Met  RX-OK RX-ERR RX-DRP RX-OVR 
                               丟棄   過載

ip 命令 (iproute2 家族)

配置Linux 網絡屬性:ip 命令
ip - show / manipulate routing, devices, policy routing and tunnels
        
    ip [ OPTIONS ] OBJECT { COMMAND | help } 
    OBJECT := { link | addr | route }
ip link – network device configuration
ip link help
set dev IFACE
可設置屬性:up and down:激活或禁用指定接口
#  ip link set eth1 down
promisc {on|off} :是否支持混雜模式
               
multicaet on/off:啟用或禁用多播地址    
name  :重命名  停止網卡,再改名
    
mtu NUMBER :設定MTU的大小,默認尾1500
               netns PID : (centos7**) ns為namespace,用于將接口移動到指定的網絡名稱空間
      ip netns list  列出所有的netns
      ip netns add name 創建指定的netns
      ip netns del name  刪除指定的netns
      ip netns exec name COMMAND  在指定的netns 中運行命令
 
     ifup/ifdown 
     注意:通過配置文件/etc/sysconfig/net-scripts/ifcfg-IFACE來識別并完成配置
show [dev IFACE] :指定接口
[up]:僅顯示處于激活狀態的接口
ip addr { add | del }IFADDR dev STRING
[label LABEL] :添加地址時指明網卡別名
[scope {global|link|host}] :指明作用域    global:  全局可用;
    link:  僅鏈接可用;
    host:  本機可用;
[broadcast ADDRESS] :指明廣播地址
ip addr add 172.16.100.13/16 dev eth0 label eth0:0ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip address show – look at protocol addresses 僅顯示指定接口的地址
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip address flush – 使用格式同show 清空地址
ip addr flush dev eth0 label eth0:0
ip route – routing table management
添加路由: :ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
    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
    添加網關:ip route add default via GW dev IFACE
    ip route add default via 172.16.0.1
刪除路由:ip route delete
ip route del TARGETip route del default  刪除默認路由
         
顯示路由:ip route show|list
清空路由表:ip route flush [dev IFACE]  [via PREFIX]ip route flush dev eth0

ss 命令

格式:ss [OPTION]… [FILTER]
netstat通過遍歷proc來獲取socket 信息,ss 使用netlink與內核tcp_diag模塊通信獲取socket信息。
選項:
-t: tcp 協議相關-u: udp 協議相關-w: raw socket 裸套接字相關-x :unix sock 相關-l: listen 狀態的連接-a:  所有-n:  數字格式-p:  相關的程序及PID-e:  擴展的信息-m :內存用量-o :計時器信息-s :列出當前socket詳細信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
TCP 的常見狀態:
    tcp finite state machine:
    LISTEN:  監聽
    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 顯示每個進程具體打開的socket
ss -t -a 顯示所有tcp socket
ss -u -a 顯示所有的UDP Socekt
             
ss -o state established '( dport = :smtp or sport = :smtp )'
顯示所有已建立的SMTP連接
ss -o state established '( dport = :http or sport = :http )'
顯示所有已建立的HTTP連接
                
ss -x src /tmp/.X11-unix/* 找出所有連接X服務器的進程
ss -s 列出當前socket詳細信息:#### CentOS 7網絡屬性配置

====網絡配置文件

IP 、MASK 、GW 、DNS 相關配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相關的配置文件:
/etc/sysconfig/network-scripts/route-IFACE 
 /etc/sysconfig/network-scripts/ifcfg-IFACE: 
 
說明參考/usr/share/doc/initscripts-9.49.30/sysconfig.txt
DEVICE :此配置文件應用到的設備
HWADDR :對應的設備的MAC地址   
MACADDR: 修改設備mac  
BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是 NetworkManage的簡寫,此網卡是否接受NM控制;建議CentOS6 為“no”
    
ONBOOT :在系統引導時是否激活此設備
TYPE :接口類型;常見有的Ethernet, Bridge
UUID :設備的惟一標識
IPADDR :指明IP 地址
NETMASK :子網掩碼GATEWAY:默認網關DOMAIN:DNS搜索域
DNS1 :第一個DNS 服務器指向
DNS2 :第二個DNS 服務器指向NETMASK:子網掩碼;centos7 支持使用PREFIX以長度方式指明子網掩碼
USERCTL :普通用戶是否可控制此設備
PEERDNS :如果BOOTPROTO的值為“dhcp” ,是否允許dhcp server 分配的dns 服務器指向信息直接覆蓋至/etc/resolv.conf 文件中
ifcfg-eth0
DEVICE=eth0
IPADDR=10.1.27.100PREFIX=16GATEWAY=10.1.255.255DNS=8.8.8.8
    114.114.114.114
    8.8.4.4
ifcfg-eth0
DEVICE=eth0BOOTPROTO=dhcp

本地解析器

解析器執行正向和逆向查詢/etc/hosts
? 本地主機名數據庫和IP 地址的映像
? 對小型獨立網絡有用
? 通常,在使用DNS 前檢查
? getent hosts 查看/etc/hosts內容

dns名字解析

/etc/resolv.conf
    nameserver DNS_SERVER_IP1
    nameserver DNS_SERVER_IP2
    nameserver DNS_SERVER_IP3
 /etc/nsswitch.conf      DNS優先級設制
     默認  /etc/hosts 相比優先于DNS
       
正解:FQDN-->IP# dig -t A FQDN# host -t A FQDN反解:IP-->FQDN# dig -x IP# host -t PTR IP

網絡配置文件 (路由)

/etc/sysconfig/network-scripts/route-IFACE
                               route-eth1
?  注意:需service network restart生效
?  兩種風格:
(1) TARGET via GW  192.168.0.0/24 via 172.16.0.2(2) 每三行定義一條路由
ADDRESS#=TARGETNETMASK#=maskGATEWAY#=GW

網卡別名 (不支持dhcp)

對虛擬主機有用
將多個IP 地址綁定到一個NIC上 
    eth0:1
    eth0:2
    eth0:3   
    ifconfig 命令:
    ifconfig eth0:0 192.168.1.100/24 up
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
指定靜態IP同時開啟dhcp
eth0:1
DEVIC=eth0BOOTPROTO=dhcp
eth0:2
DEVICE=eth0:2IPADDR=10.1.27.101PREFIX=16GATEWAY=10.1.255.255DNS=8.8.8.8
eth0:3
DEVICE=eth0:3IPADDR=10.1.27.102PREFIX=16GATEWAY=10.1.255.255DNS=8.8.8.8

設備別名

為每個設備別名生成獨立的接口配置文件
? 關閉NetworkManager 服務
? ifcfg-ethX:xxx
? 必須使用靜態聯網
    DEVICE=eth0:0
    IPADDR=10.10.10.10
    NETMASK=255.0.0.0
    ONPARENT=yes
注意:service network restart  生效
參考/usr/share/doc/initscripts-*/sysconfig.txt

網絡配置

Linux 網絡屬性配置的tui(text user interface):
    system-config-network-tui
    setup
    注意:記得重啟網絡服務方能生效
配置當前主機的主機名:
    hostname [HOSTNAME]
    /etc/sysconfig/network         HOSTNAME=

網卡名稱

網絡接口識別并命名相關的udev 配置文件: /etc/udev/rules.d/70-persistent-net.rules
 
卸載網卡驅動:
modprobe -r e1000
裝載網卡驅動:
modprobe e1000

網絡接口配置-bonding

? 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接口上傳送所有的報文。本模式提供容錯能力。
Bonding 配置
創建bonding 設備的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0  DEVICE=bond0  BOOTPROTO=none  BONDING_OPTS= “miimon=100 mode=0”
/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no
          
查看bond0 狀態:/proc/net/bonding/bond0
        
miimon是用來進行鏈路監測的。如果miimon=100 ,那么系統每100ms 監測一次鏈路連接狀態,如果有一條線路不通就轉入另一條線路
刪除bond0
ifconfig bond0 downrmmod bonding          ?  關于bonding 的詳細配置請參照
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
網絡服務配置完成啟用
Network
    NetworkManager
    管理網絡服務
    CentOS6: service SERVICE {start|stop|restart|status}    CentOS7:systemctl SERVICE {start|stop|restart|status}
    配置文件修改之后,如果要修改,需要重啟網絡服務;
    CentOS6: #service network restart
    CentOS7:#systemctl network restart
centos6 下次系統啟動禁止NetworkManager服務啟動
chkconfig NetworkManager off
centos6禁止NetworkManager服務
service  NetworkManager stop

路由實驗

image

R1 TABLE
GATEWAY 主機和路由器直連,網關地址為接口IP,否則為下一跳路由器的臨近接口IP。                     
192.168.27.0/24  0  192.168.27.1 10.1.27.0/8      1  10.1.27.2172.27.0.0/16    1  10.1.27.2
               route add -net  172.27.0.0/16  gw 10.1.27.2 dev eth1
R2 TABLE
192.168.27.0/24 1  10.1.27.1/810.1.27.0/8     1  10.1.27.2172.27.0.0/16   0  172.27.0.1
               route add -net  192.168.27.0/24  gw 10.1.27.1 dev eth1
啟動路由轉換功能
echo 1 > /proc/sys/net/ipv4/ip_forward
清除防火墻
iptables -F 
         -vnl   查看防火墻記錄
配置兩臺主機
DEVICE=eno16777736
IPADDR=192.168.27.100PREFIX=24 GATEWAY=192.168.27.1
              DEVICE=eno16777736
IPADDR=172.27.0.100PREFIX=16GATEWAY=172.27.0.1
實驗結果
TTL每經過一跳時,會減一。

imageimage imageimage image

虛擬網卡實現一個網卡多個地址實驗

網卡配置
ifcfg-eth0   
1 DEVICE=eth02 IPADDR=192.168.27.13 PREFIX=24
           ifcfg-eth0:11 DEVICE=eth0:12 IPADDR=192.168.27.23 PREFIX=24
  ifcfg-eth0:21 DEVICE=eth0:22 IPADDR=192.168.27.33 PREFIX=24
[root@lvasu network-scripts]# service network restart
實驗結果
實現一個網卡多IP的綁定

image

多網卡bond,mode1

網卡配置
ifcfg-bond01 DEVICE=bond02 IPADDR=10.1.27.1003 PREFIX=164 GATEWAY=10.1.0.15 DNS=8.8.8.86 BONDING_OPTS="miimon=100 mode=1"
            ifcfg-eth01 DEVICE=eth02 SLAVE=yes3 MASTER=bond0
         
ifcfg-eth11 DEVICE=eth12 SLAVE=yes3 MASTER=bond0
實驗結果
1、驗證網絡可以連通

image
image

2、驗證BOND1是否有效

image

網絡管理(三) 網卡名稱、主機名稱、nmcli命令、team組、網絡工具

網卡名稱

rhel6之前,網絡接口使用連續號碼命名:eth0 、eth1 等, 當增加或刪除網卡時,名稱可能會發生變化。
rhel7 使用基于硬件,設備拓撲和設置類型 命名:(1)  網卡命名機制systemd 對網絡設備的命名方式(a)  如果Firmware 或BIOS為主板上集成的設備提供的索引信息可用,且可預測則根據此索引進行命名,例如eno1(b)  如果Firmware 或BIOS 為PCI-E擴展槽所提供的索引信息
可用,且可預測,則根據此索引進行命名,例如ens1(c) 如果硬件接口的物理位置信息可用,則根據此信息進行命
名,例如enp2s0(d)  如果用戶顯式啟動,也可根據MAC 地址進行命名,
enx2387a1dc56;(e)  上述均不可用時,則使用傳統命名機制
接口命名方式:
CentOS 6:
    以太網:eth[0,1,2,...]
    ppp :ppp[0,1,2,...]  Fireware拓撲結構    
      
(1)如果Fireware或BIOS為主板上集成的設備提供的索引信息可用,則根據此索引進行命名,如eno1,eno2
(2)如果Fireware或BIOS為PCI-E擴展槽所提供的索引信息可用,且可預測,則根據此縮印進行命名,如ens1,ens2
(3)如果硬件接口的物理信息可用,則根據此信息命名,如enp2s0
(4)若果用戶顯式定義,也可以根據MAC地址命名,例如enx122161ab2e10
        
命名格式的組成:en:ethernetwl:wlanww:wwan
   名稱類型:
    o<index>:集成設備的索引號
    s<solt>:擴展槽的索引號
    x<MAC>:基于MAC地址的命名
    p<bus>s<slot>:基于總線及槽的拓撲結構進行命名


基于BIOS支持biosdevname中內置網卡:em1,em2
pci 卡:pYpX Y :slot ,X:port
(2)  名稱組成格式    en: Ethernet  有線局域網    wl: wlan  無線局域網    ww: wwan 無線廣域網
名稱類型:
    o<index>:  集成設備的設備索引號
    s<slot>:  擴展槽的索引號
    x<MAC>:  基于MAC 地址的命名
    p<bus>s<slot>: enp2s1
        
網卡設備的命名過程:
第一步:
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)  重啟系統
本地主機名配置
hostname:
   查看:hostname
   配置:hostname HOSTNAME
         當前系統有效,重啟后無效
         
hostnamectl (CentOS7)
   hostnamectl status:顯示當前主機名信息
   hostnamectl set-hosatname:設定主機名,永久有效
  
  配置文件:/etc/sysconfig/network
  HOSTNAME=<HOSTNAME>            /etc/hosts        127.0.0.1   lvasu

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 valuesetting.property:
ipv4.addresses ipv4.gateway
ipv4.dns1 ipv4.method manual | dhcp
修改配置文件執行生效:systemctl restart network
nmcli con reload
nmcli 命令生效: nmcli con down eth0 ;nmcli con up eth0

相關工具

網絡接口配置tui 工具:nmtui
主機名稱配置工具:hostnamectl
statusset-hostname

使用nmcli 配置網絡

NeworkManager是管理和監控網絡設置的守護進程
設備即網絡接口,連接是對網絡接口的配置。一個網絡接口可有多個連接配置,但同時只有一個連接配置生效。
顯示所有包括不活動連接
nmcli con show
顯示所有活動連接
nmcli con show –active
顯示網絡連接配置
nmcli con show "System eth0“
顯示設備狀態
nmcli dev status
顯示網絡接口屬性
nmcli dev show eno16777736
創建新連接default,IP自動通過dhcp 獲取
nmcli con add con-name default type Ethernet ifname 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.254nmcli con mod “static” +ipv4.dns 8.8.8.8nmcli con mod “static” -ipv4.dns 8.8.8.8nmcli con mod “static” ipv4.addresses “172.25.X.10/24172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
                       # nmcli con mod 系統\ eth0 +ipv4.addresses 10.1.27.200

網絡配置文件

設備配置被保存在文本文件中
? /etc/sysconfig/network-scripts/ifcfg-<name>
? 幫助文檔列出完整選項列表:/usr/share/doc/initcripts-*/sysconfig.txt

image

image

動態配置
DEVICE=ethXHWADDR=0:02:8A:A6:30:45BOOTPROTO=dhcpONBOOT=yesType=Ethernet
靜態配置
DEVICE=ethX 
HWADDR=0:02:8A:A6:30:45IPADDR=192.168.0.123NETMASK=255.255.255.0GATEWAY=192.168.0.254ONBOOT=yes
Type=Ethernet
修改連接配置后,需要重新加載配置
nmcli con reload
nmcli con down “system eth0”  可被自動激活
nmcli con up “system eth0”
nmcli dev dis eth0  禁用網卡,訪止被自動激活
圖形工具
nm-connection-editor

網絡組Network Teaming

網絡組:是將多個網卡聚合在一起方法,從而實現冗錯和提高吞吐量
網絡組不同于舊版中bonding技術,提供更好的性能和擴展性網絡組由內核驅動和teamd 守護進程實現.
多種方式runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control Protocol)
創建網絡組接口
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.
創建網絡組接口實例
# 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
創建port 接口
nmcli con add type team-slave con-name CNAME
ifname INAME master TEAMCNAME  連接名,
INAME  網絡接口名,
TEAM  網絡組接口名.
         
連接名若不指定,默認為team-slave-IFACE .
nmcli dev dis INAME
nmcli con up CNAME
    INAME 名 設備名 CNAME  網絡組接口名或port 接口
網絡組實例
# nmcli con add type team-slave ifname eth1 master team0# nmcli con add type team-slave ifname eth2 master team0 con-name team0-eth2# nmcli con up team0# nmcli dev dis eth2# teamdctl team0 state
實驗: 創建網絡組
#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 type team-slave con-name team0-port1 ifname eno1 master team0# nmcli con add type team-slave con-name team0-port2 ifname eno2 master team0# 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
管理網絡組配置文件
# /etc/sysconfig/network-scripts/ifcfg-team0DEVICE=team0DEVICETYPE=TeamTEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"BOOTPROTO=noneIPADDR0=172.25.5.100PREFIX0=24NAME=team0ONBOOT=yes# /etc/sysconfig/network-scripts/ifcfg-team0-eth1DEVICE=eth1DEVICETYPE=TeamPortTEAM_MASTER=team0NAME=team0-eth1ONBOOT=yes
使用nmcli 配置主機名
rhel6之前主機名配置文件:/etc/sysconfig/network
rhel7.0主機名配置文件:/etc/hostname  ,默認沒有這個文件, 通過DNS 反向解析獲取主機名, 主機名 默認為 :localhost.localdomain
顯示主機名信息
hostname
    hostnamectl status
創建并修改文件并生
hostnamectl set-hostname desktopX.example.com
    刪除文件,恢復主機名localhost.localdomainDNS 設置,存放在/etc/resolv.conf 文件中
PEERDNS=no 表示當IP 通過dhcp 自動獲取時,dns仍是手動設置,不自動獲取。等價于下面命令:
nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
測試網絡
在命令行下測試網絡的連通性
顯示主機名
    hostname
    測試網絡連通性
    ping
    mtr
顯示正確的路由表    ip route
確定名稱服務器使用:
nslookup
    host
    dig
跟蹤路由
? traceroute
? Tracepath
網絡客戶端工具
lftp, ftp, lftpget, wget     
# lftp [-p port] [-uuser[,password]] SERVER子命令:get、 、 mget 、ls 、help# lftpget URL# ftp# wgetwget [option]... [URL]...
    -q:  靜默模式
    -c:  斷點續傳
    -O:  保存位置
    --limit-rates=:  指定傳輸速率

積累應用

1、某公司申請到一個C 類IP 地址,但要連接6 個的子公司,最大的一個子公司有26 臺計算機,每個子公司在一個網段中,則子網掩碼應設為?

192.168.1.1/27.254

2、一家集團公司有12家子公司,每家子公司又有4個部門。上級給出一個172.16.0.0/16的網段,讓給每家子公司以及子公司的部門分配網段。

(1)直接劃分成48個子網
172.16.0.1/22--17.16.3.254/22
172.16.188.1/22-17.16.191.254/22
(2)先劃分12個子網
172.16.0.1/20--17.16.15.254/20
172.16.176.1/20--17.16.191.254/20
  每個子網在劃分4個子網
172.16.0.1/22--17.16.7.254/22
172.16.8.1/22--17.16.15.254/22

3、某集團公司給下屬子公司甲分配了一段IP地址192.168.5.0/24,現在甲公司有兩層辦公樓(1樓和2樓),統一從1樓的路由器上公網。1樓有100臺電腦聯網,2樓有53臺電腦聯網。如果你是該公司的網管,你該怎么去規劃這個IP?

192.168.5.0.1-192.168.127.254
192,168.133.1-192.168.255.254
每個子網IP數=2^7=128

原創文章,作者:lvasu,如若轉載,請注明出處:http://www.www58058.com/43157

(0)
lvasulvasu
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • 磁盤管理(二)Raid與LVM邏輯卷

    概述:本章主要講解raid和邏輯卷 什么是RAID RAID:Redundant Arrays of Inexpensive(Independent) Disks 1988年由加利福尼亞大學伯克利分校( University ofCalifornia-Berkeley) “ A Case for RedundantArrays of Inexpensive …

    Linux干貨 2016-09-05
  • Linux運維之進程管理

    一、進程概念 進程是內核的一個功能,在Linux中,運行一個程序或命令可以出發一個事件而驅動一個PID,在linux系統中,系統只識別二進制程序文件,我們可以通過執行系統上的二進制程序來運行程序,進而產生進程。在linux系統中第一個進程是init程序,它是系統開機第一個加載的程序,用來支撐系統的正常運行的一個程序,內核啟動的一個用戶級進程。   …

    Linux干貨 2016-09-09
  • NET25-第11周作業

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 第一步:他們需要實現協商好對稱加密算法,單向加密算法,公鑰加密算法,交換公鑰等。 第二步:B用戶想要將數據傳給A,首先需要使用單向加密算法取出數據的特征碼,并用自己的私鑰對這段特征碼進行加密(數字簽名),B用戶生成臨時對稱密鑰,并用對稱密鑰加密整段數據,B用戶使用 A用戶的公鑰加密一次性對稱密鑰,附加在整段數據…

    Linux干貨 2017-05-15
  • HAProxy 入門及基礎負載應用

    A、首介 。。。         HAProxy——開放源代碼軟件,是一款代理服務器和偽4層的負載均衡軟件解決方案?;赥CP(第四層)和HTTP(第七層)應用的代理軟件,支持高并發鏈接,它的工作模式可以將其簡單而安全地整合到當前的服務架構中,同時可以保護你的WEB服務器不暴露到…

    Linux干貨 2017-05-17
  • systemd和systemctl

    systemd和systemctl(centos7)     Systemd是一種新的linux系統服務管理器。它替換了init系統,能夠管理系統啟動過程和一些系統服務,一旦啟動起來,就將監管整個系統。在centos7系統中,PID 1被systemd所使用了:如下,在centos6中: init─┬─NetworkManager &nb…

    Linux干貨 2016-10-09
  • vim快捷方式

    Vim是從 vi 發展出來的一個文本編輯器。代碼補全、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用,和Emacs并列成為類Unix系統用戶最喜歡的文本編輯器

    Linux干貨 2017-11-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-10 11:28

    理論與時間相結合,有著自己的獨立思考,贊一個。注意標題部分,不規范,要進行修改。

欧美性久久久久