使用 NetworkManager 設定網路

從 RHEL7/CentOS7 開始,NetworkManager 已經過更好的改良,使用 NetworkManager 服務可以一次設定好網路組態與DNS,而不用再一個一個檔案修改。
nmcli 為 NetworkManager 主要的設定指令,包含豐富的參數選項,更容易調整網路位置,以往在同一張網卡綁定多個 IP 時需要設定多個網路卡網態,現在也需要使用一行指令即可隨意增加或修改。

開始設定

IP 與閘道

  • NIC Name: eno16780032
  • Tag Name: eth0
  • Type: ethernet
  • 1st IPv4 IP: 192.168.1.192/24
  • 2nd IPv4 IP: 192.168.1.25/24
  • IPv4 Default Getway: 192.168.1.1
  • ifname:網路卡名稱(Deivce 編號)
  • con-name:網路卡別名
  • type:網路型態
  • ip4:IPv4 位置,需加上網路區段
  • gw4:IPv4 閘道位置

設定 DNS

  • DNS1: 192.168.1.191
  • DNS1: 8.8.8.8
  • ipv4.dns:設定第 1 組 DNS 位置
  • +ipv4.dns:設定第 2 組 DNS 位置(若有多個會累加)

Start eth0

檢查設定

查看 IP

查看 Routing table

查看 DNS

 

CentOS 7 網路無法設定IP

先前安裝系統的時候,由於還不知道網路環境,當時是採用 DHCP 的模式先將網路啟動以便進行網路校時,這樣的設定在桌面環境是沒有問題的,但是對伺服器來說,並不是那麼 OK,因為伺服器通常需要一組固定的 IP 和 hostaname 讓外界固定來拜訪,而預載的 NetWorkManager 在個人的經驗中常常會不大正常(這個版本正常多了 XD)所以本文會說明如何關掉原有的 NetWorkManager,採並用原有的 network 指令來啟動網路。

首先關掉 NetworkManager (開始採用新的指令):

1
2
3
4
#systemctl disable NetworkManager.service
#systemctl stop NetworkManager.service
#chkconfig network on #因為network不是標準的 systemd 的程序
#systemctl stop network

接下來請編輯 /etc/sysconfig/network-scripts/ifcfg-你的網路卡編號(請利用 vim 編輯器,或是 gedit),修改內容如下:

原有的內容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="eno16777736"
UUID=3d7877b7-24e0-40fc-ac67-f2552f3ef664
ONBOOT=yes
HWADDR=00:0C:29:5B:84:12

修改成以下內容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TYPE="Ethernet"
BOOTPROTO=none       #改成none
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="b06e0794-79ce-4d9d-9703-4eff3dc7e38d"
ONBOOT="yes"
HWADDR=00:0C:29:5B:84:12
IPADDR0=192.168.1.40 #這台伺服器的固定IP,實際IP依照自有環境
GATEWAY=192.168.1.2  #這台伺服器的gateway 請注意不要加「0」
DNS1=168.95.1.1      #這台伺服器的DNS(中華電信DNS IP,也可以加在 /etc/resolv.conf 中)

刪掉由 NetworkManager 所產生的設定檔,並啟動網路:

1
2
#rm -rf /etc/systemconfig/network-scripts/ifcfg-自動使用乙太網路
#systemctl start network

完成之後存檔,重開機一次測試看能不能正常的上網~

 

 

refer from : http://blog.kevinlinul.idv.tw/?p=90