2015年12月3日 星期四

RHEL7 網路指令

RHEL 7 的網路設定:使用 NetworkManager 套件

  • 網路卡名稱:
    1. 網卡類型:
      • en : Ethernet 網路卡
      • wl : Wireless (WiFi)網路卡
      • ww : Wireless WAN 網路卡(3G、4G LTE) 
    2. 插槽名稱:
      • o : on-board 網路卡
      • s : 可熱抽拔插槽 (slot)
      • p : PCI 插槽配置位置 
    3. 順序號碼:
      • 通常從 0 開始數起,但是嵌在主機板上的 on-board 裝置則是從 1 開始!
  • 例1: enp0s2 : 在第一個 PCI 位置上第三個插槽上的乙太網路卡!
    例2: eno1 : 第一個on-board 的網路卡
    ※PS:如有安裝 biosdevname 套件,或是設定 udev 客製化名字,可改變網路卡名稱!

  • 網路設定相關檔案:
    1. 網路設定檔儲放目錄:/etc/sysconfig/network-scripts
    2. 設定檔 ifcfg-xxxx
      • BOOTPROTO=none | static | dhcp
      • IPADDR0=192.168.1.5
      • PREFIX0=24
      • GATEWAY0=192.168.1.254
      • DEFROUTE=yes
      • DNS1=8.8.8.8
      • DEVICE=eth0
      • NAME="System eth0"

  • 網路設定相關指令:
    1. Gnome 圖形介面設定:
    2. nmtui 指令:文字模式下的選單操作介面
    3. nmcli 指令:標準文字操作指令
      <顯示、查詢方式>
      • #nmcli con show :顯示所有網路介面清單!
        --active :只顯示活(啟)動中的網路介面!
        "enp0s2" :顯示指定介面所有相關的設定參數!
      • #nmcli dev status :顯示網路介面卡硬體連線狀態!
        "enp0s2" :顯示指定介面所有相關的硬體設定參數!

      <新增網路連結方式>
      例:新增一個網路連結(需要先有網路卡)
      1. #nmcli con add con-name "default" type ethernet ifname eth0
        表示新增一網路連結,名為:"default",使用 eth0 乙太網路卡,IP 位址使用DHCP模式!

      2. #nmcli con add con-name "static" ifname eth0 autoconnect no type ethernet ip4 192.168.1.10/24 gw4 192.168.1.254
        表示新增一網路連結,名為:"static",使用 eth0 乙太網路卡自動連結網路!IP 位址是 192.168.1.10,預設閘道為 192.168.1.254,不使用DHCP模式!

      3. #nmcli con up "default" :表示啟動 "default" 這個網路連結!(會進行 DHCP 運作)

      4. #nmcli con up "static" :表示啟動 "static" 這個網路連結!

      ※PS:在相同介面下,如果靜態連結啟動失敗,則將會轉換成自動連結狀態!如果想取消這種運作模式,請使用 #nmcli dev disconnect eth0!
      ※PS:查詢相關參數方式 #nmcli con add help !

    4. <修改網路連結方式>
      1. #nmcli con mod "static" connection.autoconnect no
        關閉自動連結!
      2. #nmcli con mod "static" ipv4.dns 192.168.1.10
        指定 DNS Server!
      3. #nmcli con mod "static" +ipv4.dns 192.168.1.100
        利用+/- 符號來增加、減少設定!
      4. #nmcli con mod "static" ipv4.addresses "192.168.1.5/24 8.8.8.8"
        取代原來的IP、Gateway 設定值!
      5. #nmcli con mod "static" +ipv4.addresses 10.1.1.1
        追加一個新的 IP位址,但沒有設定 Gateway !!
      ※PS:記得修改完後,請使用 #nmcli con up "static"

    <nmcli 指令總結>
    指令名稱說 明
    nmcli dev status
    nmcli con show
    nmcli con up "connection ID"
    nmcli con down "connection ID"
    nmcli dev dis "device name"
    nmcli net off
    nmcli con add ...
    nmcli con mod "connection ID"
    nmcli con del "connection ID"

  • 網路測試相關指令:
    1. ip 指令
      • #ip address show eth0:顯示網卡 eth0 的 IP 位址。
      • #ip -s link show eth0:顯示網卡 eth0 MAC層的相關資料,並統計傳送(Tx)與接收(Rx)封包數量、大小等相關訊息。
      • #ip route:顯示目前網路的路由設定。

    2. ping 指令
      • #ping -c3 192.168.1.5 :表示要送 ICMP 封包三次給指定的 IP!

    3. traceroute、tracepath 指令
      • #tracepath access.redhat.com :表示要追踪到指定站台之間,所經過的IP或是介面名稱!
        -I:指定用 ICMP 封包送!
        -T:指定用 TCP 封包送!
        不指定,表示使用 UDP 封包!

    4. ss 指令:類似 netstat 指令
      • #ss -ta :表示顯示本機 socket 的統計!可顯示、統計網路 IP 位址與對應 port 的連線情形!
        參 數說明
        -n 以數字來取代介面名稱與 port 號!
        -t 顯示使用 TCP 的 socket !
        -u 顯示使用 UDP 的 socket !
        -l 只顯示監聽中的 socket !
        -a 顯示所有的 socket !
        -p 顯示 socket 執行序的 ID 號碼!