1. 程式人生 > >配置Linux網路

配置Linux網路

配置Linux的IP有三種方法

  • ifconfig
  • setup
  • 修改網絡卡的配置檔案

說明:本文使用centos7系統,網絡卡命名規則不同。預設網絡卡名ens33

1. ifconfig

命令名稱:ifconfig
基本語法:ifconfig [網絡卡標識] [IP地址]
英文原意:interface configuration
執行許可權:root
功能描述:檢視或臨時配置網絡卡資訊

說明: ifconfig 命令主要是用來檢視網絡卡的配置資訊,因為用它來配置網絡卡的IP地址時,只會臨時生效(Linux伺服器重啟後就會失效)要想使本地網絡卡(ens33)的配置永久生效,需要修改其配置檔案etc/sysconfig/network-scripts/ifcfg-ens33

先用ifconfig命令檢視一下網絡卡的基本資訊。

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.118.130  netmask 255.255.255.0  broadcast 192.168.118.255
        inet6 fe80::51c4:92f0:56d5:6020  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:11:11:7d  txqueuelen 1000  (Ethernet)
        RX packets 18755  bytes 1459721 (1.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3519  bytes 896798 (875.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1156  bytes 122910 (120.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1156  bytes 122910 (120.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:51:f9:07  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

說明:
eth0 表示第1塊本地網絡卡,它是按照數字順序來命名的。
如果有第2塊本地網絡卡,就叫eth1。
通常,我們主要會檢視本地網絡卡的mac地址(ether 00:0c:29:11:11:7d)和IP地址(inet 192.168.118.130)

lo 表示本地迴環網絡卡。

如果你在檢視網絡卡資訊時,沒有本地網絡卡eth33這一項。很可能是因為本地網絡卡預設沒有啟動。
可先修改它的配置檔案/etc/sysconfig/network-scripts/ifcfg-eth33

加上如下程式碼,來啟動Linux主機的本地網絡卡:
ONBOOT=yes

儲存退出後,執行下面的命令,重啟網路服務,使網絡卡配置檔案立即生效:
service network restart
再來執行ifconfig即可

使用ifconfig臨時設定IP(重啟就會失效)

ifconfig ens33 192.168.118.129

2. setup
setup 命令是 redhat 系列的linux系統(如CentOS)中專有的命令工具

使用 setup 命令來配置網路,會出現一個圖形化的介面,操作起來非常方便。而且它支援的功能更多,除了網路配置外,還支援防火牆配置、系統服務和驗證配置。

也可以使用DHCP(將該項的值設定為 * 即可)來自動獲取IP、子網掩碼和閘道器,前提是你家的路由器已經開啟了DHCP服務(通常,路由器的DHCP服務都是預設開啟的)。setup 網路配置工具設定的IP地址會永久生效。

命令名稱:setup
命令所在路徑:/usr/sbin/setup
執行許可權:root
功能描述:配置網路
基本語法:setup

總結: setup命令工具雖然也有一點侷限性,但它的圖形化設定介面非常方便,而且網路配置也會自動寫入網絡卡配置檔案,進而永久生效。並且,只要你家有外網,你的Linux也能夠連通外網。故推薦使用該方法。

3. 修改網絡卡的配置檔案 

  • cd /etc/sysconfig/network-scripts 
  • 找到ifcfg開頭的檔案 ifcfg-“網絡卡名稱”  ens33是需要設定的網絡卡,不同機器可能不同名稱

  • 按以下配置修改和配置相關資訊 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=f5957052-8bd1-405d-b08e-3ac166939980
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.2.119
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=192.168.2.1

注:這裡的ip、子網掩碼、閘道器按window下的匹配配置

ONBOOT=yes                 開機生效
BOOTPROTO=static           none=不使用dhcp服務 static=靜態ip dhcp=自動獲取
IPADDR=192.168.2.119       設定IP 
NETMASK=255.255.255.0      子網掩碼
GATEWAY=192.168.2.1        閘道器
DNS1=192.168.2.1           DNS
DNS有自己的配置檔案/etc/resolv.conf,在這裡設定DNS,就是把它寫入了DNS的配置檔案/etc/resolv.conf。
  • 重啟網路配置,ping百度域名
  • 重啟指令:service network restart 
  • ping百度:ping www.baidu.com 

4. 虛擬機器的網路連線模式
就VMware虛擬機器而言,常用的網路連線的模式有三種:

  • NAT模式(預設模式)
  • 僅主機模式
  • 橋接模式

檢視和設定網路連線的模式的方法是:虛擬機器 → 設定 → 網路介面卡,在裝置狀態處,勾選“已連線”和“啟動時連線”;在網路連線處,選擇合適的模式。

這三種網路連線模式有一定的區別,下面逐一說明。

4.1 NAT模式
選擇NAT模式時,虛擬機器的IP應該和真實機中的VMnet8(虛擬網絡卡)的IP(比如:192.168.200.1)同網段,才能保證虛擬機器和真實機的連通。

4.2 僅主機模式
選擇僅主機模式時,虛擬機器的IP應該和真實機中的VMnet1(虛擬網絡卡)的IP(比如:192.168.224.1)同網段,才能保證虛擬機器和真實機的連通。

注意: 在僅主機模式時,就算你家有外網,虛擬機器也只能連通內網,而無法連通外網。

4.3 橋接模式
選擇橋接模式時,虛擬機器的IP應該和真實機中已經連上外網的網絡卡(本地網絡卡或無線網絡卡)的IP(比如:192.168.1.2)同網段,才能保證虛擬機器和真實機的連通。

總結: 如果你家有外網,要想讓虛擬機器中的Linux主機也連通外網,可以選擇“NAT模式”或者“橋接模式”,但不能使用“僅主機模式”。也就是說,“僅主機模式”有一定的侷限性,它只能讓虛擬機器連通區域網,而其他兩種模式,只要網路配置正確,則沒有侷限性。