CentOS7下的網絡配置管理

一、讓配置永久有效的辦法:修改配置文件

  1. 與網卡相關(課配置網卡的IP,掩碼,網關,DNS)

    /etc/sysconfig/network-scripts/ifcfg-INTERFACE

ifcfg-eno.png

字段解釋:

TYPE            #接口類型 常見Ethernet,Bridge
BOOTPROTO       #分配ip時候采用的協議,一般有dhcp或者static。設定為static的時候,還要提供IPADDR和NETMASK
DNS1            #在這個文件里面,我們也可以指定dns服務器,局域網內一般是填網關的ip,可以定義3個。
NM_CONTROLED    #是否由NetworkManager控制,Centos6上建議為no。
USERCTL         #是否可由用戶激活該設備,建議為no
ONBOOT          #是否開機啟動
PEERDNS         #如果BOOTPROTO為dhcp,是否允許dhcp服務器分配的dns服務器指向信息直接覆蓋至/etc/resolv.conf

網卡命名機制

systemd對網絡設備的命名方式 CentOS7

a.如果固件(Firmware)或BIOS為主板上集成的設備(即,板載設備),如eno1。如果不成立,則方案b備選生效。    #集成網卡
b.如果Firmware或BIOS為PCI-E擴展槽,如ens1。如果也不成立,則方案c備選生效。                       #獨立網卡
c.如果硬件接口的物理位置拓撲信息可用,如enp2s0。如果也不成立,則方案e備選生效。                    #usb網卡
d.如果用戶顯式啟動,也可根據MAC地址進行命名,如enx237a1dc56                                      #默認關閉
e.以上都不成立,傳統命名方式,如eth0

延伸:通過配置文件來給網卡,配置多IP地址

配置文件:新建一個ifcfg-別名 (注意:需要關閉NetworkManager)

cp ifcfg-eth0 ifcfg-eth0:0

網卡別名1.png

首先我們復制一份網卡的配置,用作修改。

網卡別名2.png

接著使用vim刪除一些不必要的信息,添加一行onparent=yes來表示設備附屬于eno16777736

然后使用service network restart 來重啟一下服務。

網絡別名3.png

我們可以看見接口那里多了一個eno16777736:0,而且物理地址和eno16777736相同。

接著我們使用ping命令來嘗試一個能不能使用端口連通外網

網卡別名4_ping.png

ping命令

    -c    #指定次數
    -I    #指定源ip

ssh.png

甚至ssh連上去再ping

不過需要注意的是給網卡拿多一個ip(ip別名)不支持dhcp自動獲取,要手動指定靜態ip。

2.路由相關的配置文件 (路由就是指路,告訴別人路怎么走)

    /etc/sysconfig/network-scripts/route-INTERFACE (route-eth0)#默認不存在
        兩種定義路由的風格:
      1. Target via GW
      #要訪問Target的ip,就要走GW這個網關。
      #按照格式來說的話就是,如果你的目標是Target,那么你的下一跳(via)就去找GW這個ip。
                
       2.每三行定義一條路由
       ADDRESS0=192.168.0.0
       NETMASK0=255.255.255.0
       GATEWAY0=192.168.0.1
                    
      #這三行的意思是:想要與這個網段(ipAddress+Netmask)的ip通信的話,就要從指定的網關(GATEWAY)走
      #所以就是每三條定義一個路由。

route -n.png

首先,我們使用route -n來查看當前的路由有哪些。

我們可以看見,

第一行表示,假如目標是外部網絡(Destination 0.0.0.0),則走192.168.2.1這個網關(Gateway)。U表示啟用,G是網關。

第二行表示,如果目的地是192.168.2.0/24的這個私有地址網段,則不需要網關。則可以進行內部通信。 

3.dns服務器指定

        /etc/resolv.conf            #最多可以出現三次,不僅可以在這里配置,也可以在網卡那里單獨指定DNS服務器
        nameserver DNS_SERVER_IP1
        nameserver DNS_SERVER_IP2
        nameserver DNS_SERVER_IP3
        
resolv.conf的關鍵字主要有四個,分別是:
nameserver             #定義DNS服務器的IP地址
domain               #定義本地域名
search               #定義域名的搜索列表
sortlist              #對返回的域名進行排序

resolv.conf.png

因為網卡那里開啟了PEERDNS,所以網卡啟動的時候讀取到的DNS服務器已經輸入到這個文件中。

4.主機名相關

/etc/hostname

二、讓配置即時(臨時)生效的辦法:使用命令管理

ip命令        #功能強大,可以用于替換ifconfig和nmcli

使用ip help來獲得幫助。而且這個命令,可以省略輸入,或者使用tab鍵來補全,所以忘記的時候,可以盡情地按tab鍵。

常用的子選項

link    #管理網絡設備的

常用組合

ip link set DEVICE [ up | down ]

需要注意的是,如果把ip別名設置為down的話,整個設備都會變成down。

ip link set eno16777736:0 down

那么eno16777736這個網卡也會down掉。

在練習使用ip命令的時候,推薦直接使用虛擬機,不要用xshell等工具連接。

因為使用ip link和ip addr flush等命令會經常斷線。

addr    #配置ip地址

Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
                                    [ CONFFLAG-LIST ]
       ip addr del IFADDR dev STRING [mngtmpaddr]
       ip addr {show|save|flush} [ dev STRING ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ] [up]
       ip addr {showdump|restore}
名詞解釋:    #|表示多選一,[]表示可選選項
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |
           tentative | deprecated | dadfailed | temporary |
           CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad | mngtmpaddr | noprefixroute ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS

常用組合:

1.給設備添加ip,并設置ip別名。

ipaddr add IP_ADDRESS dev DEVICE label IP_ALIAS   ip別名可以通過ifconfig看到。

ip-addr-add label.png

2.刪除指定的ip

ip addr del.png

3.指定并查看特定狀態的設備

ipaddr show_.png

ip addr show表示顯示全部設備的ip地址,可以簡寫成ip a。

或者用選項來篩選,如上面這條命令則是表示顯示第二子網,scope類型為global的ip。

    scope 作用域(一般很少主動設置)

    global    #ip全局有效#ip在內核上,能相應外部的請求
    link     #僅配置的那個設備有相應#ip只在設備上,接受請求的網卡有這個ip才會響應,否則不會轉發。
    host     #僅本機內部有有響應#ip只在本機通信中有用,就像被人ping不到我們的127.0.0.1一樣

4.替換IP地址

ip-addr-replace.png

5..清空所有ip

ip addr flush dev DEVICE

ip addr flush.png

注意:連接了xshell做ip命令的練習的話,會經常斷開很麻煩。

所以練習的時候還是不要用xshell,直接在虛擬機那里做試驗。


route    #配置路由

常用組合:

add TARGET via GW  dev INTERFACE src SOURCE_IP   #添加路由條目
add default via GW dev INTFACE                     #設置默認網關
1.添加默認路由。

iproute default.png

這個案例中,我們可以看出只有兩個私有地址地址的路由

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736
#第一條是,訪問192.168.0.0/24這個網段的ip,往eno16777736這個接口走。
#第二條是,訪問192.168.2.0/24這個網段的ip,往eno16777736這個接口走。
所以訪問外網地址的時候,我們便無處可走。
所以要添加一條路由,訪問外網要怎么走。
#添加ip route add default via 192.168.2.1 dev eno16777736則是告訴大家:
#如果不是訪問上面兩個私有網段的地址,則其余的都讓192.168.2.1這個ip作為網關幫忙轉發。

2.刪除特定路由條目

iproute del.png

三、查看網絡狀態的工具

網絡狀態查看

1.netstat

        -n        #num,不解析域名,顯示為ip狀態
        -t        #顯示tcp相關的狀態
        -u        #顯示udp相關的狀態
        -l        #listen,顯示狀態為監聽的鏈接
        -p        #program,顯示相關進程
        -e        #擴展格式
        -r        #raw socket,裸套接字
        -a        #顯示監聽狀態和非監聽狀態

常用組合:

tnl-nul.png

netstat -tnl    #把以tcp協議傳輸且處于監聽狀態的端口,以ip形式輸出。
netstat -unl    #把以udp協議傳輸且處于監聽狀態的端口,以ip形式輸出。

tan-uan.png

netstat -tan    #輸出tcp協議的端口狀態
netstat -uan    #輸出udn協議的端口狀態

顯示路由表

    -r     #顯示路由表

    -n     #ip格式

netstat-nr.png

2.ifconfig

-a          #什么都不加,或者-a的時候,表示顯示當前所有設備的ip,包括ip別名。
DEVICE IPADDRESS    #為設備指定ip地址,立即生效。但重啟網絡之后還是按配置文件來。

ifconfig.png

重啟網卡之后,ip別名還是取回網卡設置192.168.2.133這個ip。

3.nmcli    (NetworkManager的rpm安裝而來) 

如果關了NetworkManager服務的話,是不能用的。

這個命令有一個很有趣的地方,就是子命令可以省略輸入

nmcli.png

而且我們可以看到,這個device子命令,顯示的是實體的設備。

之前配置的eno16777736:0的IP別名,在這里只會顯示成設備的一個ip。

這點與ifconfig的不一樣。

4.hostnamectl,hostname查看主機名或獲得本機的IP

hostnamectl.png


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

(1)
菠菜菠菜
上一篇 2016-03-27 22:22
下一篇 2016-03-28 17:26

相關推薦

  • Centos 7 快速進入圖形界面

    Centos 7 快速進入圖形界面.pdf

    系統運維 2016-04-05
  • GRUB啟動故障排除和內核編譯

    如何進入光盤應急系統(以下修復操作僅適用于GRUB legacy, 不適用于GRUB2): 步驟一:給主機掛上安裝光盤, 或者有相應啟動鏡像的硬盤分區(可移動的分區) 步驟二:開機時選擇CDROM先啟動 步驟三:進入光盤啟動界面選擇應急救援模式 步驟四: 不選擇設置網絡接口, 直接讀取磁盤分區并以讀寫方式掛載 步驟五: 選擇shell進入bash中對磁盤進行…

    Linux干貨 2016-09-12
  • N26 – 第二周作業

    1、文件管理類命令和常用使用方法 2、bash命令執行后返回值,和目錄展開:     命令執行返回值,存儲在“$?”這個特殊變量內??梢允褂胑cho顯示或在shell腳本中引用。其中0表示正常執行完成,1-255表示不同的錯誤類型。     目錄展開的特殊符號:  &n…

    Linux干貨 2016-12-30
  • lvs——高可用集群

    技術簡介: LVS集群采用IP負載均衡技術和基于內容請求分發技術。調度器具有很好的吞吐率,將請求均衡地轉移到不同的服務器上執行,且調度器自動屏蔽掉服務器的故障,從而將一組服務器構成一個高性能的、高可用的虛擬服務器。整個服務器集群的結構對客戶是透明的,而且無需修改客戶端和服務器端的程序。為此,在設計時需要考慮系統的透明性、可伸縮性、高可用性和易管理性 集群采用…

    Linux干貨 2016-10-26
  • MySQL高可用架構之MHA

    MySQL高可用架構之MHA 1、關于MHA MHA(Master HA)是一款開源的MySQL的高可用程序,它為MySQL主從復制架構提供了automating master failover功能。MHA在監控到master節點故障時,會提升其中擁有的最新數據的slave節點成為新的master節點,在此期間,MHA會通過其它從節點獲取額外信息來避免一致性…

    Linux干貨 2017-03-30
  • mysql主從架構/模式

    MySQL Replication: Master/Slave Master: write/read Slaves: read 為什么? 冗余:promte(提升為主),異地災備 人工 工具程序 負載均衡:轉移一部分“讀”請求; 支援安全的備份操作: … 主/從架構: 異步復制:master只需要完成自己的數據庫操作即可。至于slaves是否收到…

    2016-11-27
欧美性久久久久