網絡接口配置文件
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet #網卡類型
DEVICE=eth0 #網卡接口名稱
ONBOOT=yes #系統啟動時是否激活 yes|no
BOOTPROTO=static #啟用地址協議 –static:靜態協議 –bootp:協議 –dhcp:協議 -none:不指定協議[最好指定]
IPADDR=192.168.1.11 #網卡IP地址
NETMASK=255.255.255.0 #子網掩碼
GATEWAY=192.168.1.1 #網卡網關地址
DNS1=10.203.104.41 #網卡DNS地址
HWADDR=00:0C:29:13:5D:74 #網卡設備MAC地址
BROADCAST=192.168.1.255 #網卡廣播地址
注:在修改文件ifcfg-ethx后還需要重新導入文件才能生效,具體命令如下:
[root@localhost ~]# /etc/init.d/network reload #命令有start | restart | stop | reload
重新導入ifcfg-eth0網絡配置文件
[root@localhost ~]# /etc/init.d/network reload
網卡接口關閉與激活
[root@localhost ~]# ifdown eth0 #關閉網絡
[root@localhost ~]# ifup eth0 #啟動網絡
網絡服務啟動與關閉
方法一:
[root@localhost ~]# service network stop #關閉網絡服務
[root@localhost ~]# service network start #啟動網絡服務
[root@localhost ~]# service network restart #重啟網絡服務
方法二:
[root@localhost ~]# /etc/init.d/network stop
[root@localhost ~]# /etc/init.d/network start
[root@localhost ~]# /etc/init.d/network restart
網卡狀態查詢
[root@localhost ~]# service network status
臨時配置網卡信息,無需重啟。
[root@localhost ~]# ifconfig eth0 10.1.1.10 netmask 255.0.0.0
查看網卡接口信息,默認列出所有接口
[root@localhost ~]# ifconfig
查看當前路由及網關信息
[root@localhost ~]# netstat -r
DNS:
主機名:CentOS
主DNS:202.106.46.151
第二DNS:202.106.0.20
第三DNS:8.8.8.8
網絡配置:
eth0
靜態ip:192.168.1.106
子網掩碼 255.255.255.0
默認網關 IP 192.168.1.1
DEVICE=eth0
IPADDR=192.168.1.106
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
GATEWAY=192.168.1.1
TYPE=Ethernet
配置子網掩碼有兩種方式:
PREFIXO0=24 和 NETMASK=255.255.255.0都是正確的子網掩碼配置項,但是兩者同時存在的時候反而會報錯;原因在/etc/sysconfig/network-scripts/network-functions配置文件里面源碼的寫法問題。具體可以參看下面地址案例:
http://blog.csdn.net/aikui0621/article/details/9148997#reply
https://serverfault.com/questions/304949/prefix-versus-netmask
NETMASK和PREFIX配置沖突問題還未找到合理的解釋!!最好的辦法就是只按照其中一種配置就行,不要一起寫
RedHat6中配置網卡可以進入網卡配置文件更改網卡參數
網卡配置文件位置:/etc/sysconfig/network-scripts/ifcfg-ethxx #修改ethxx網卡配置,下面以eth0網卡為例
HWADDR=00:0C:29:8D:24:73
TYPE=Ethernet
BOOTPROTO=static #啟用靜態IP地址,不會自動獲取ip
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=ae0965e7-22b9-45aa-8ec9-3f0a20a85d11
ONBOOT=yes #開啟自動啟用網絡連接
IPADDR0=192.168.21.128 #設置IP地址
PREFIXO0=24 #設置子網掩碼,這種寫法只需要寫掩碼位數
GATEWAY0=192.168.21.2 #設置網關
DNS1=8.8.8.8 #設置主DNS
DNS2=8.8.4.4 #設置備DNS
service network restart #重啟網絡
CentOS7 網絡設置-nmcli/nmtui
CentOS7中配置網絡有個強大的圖形化配置工具- nmcli和nmtui 。
nmcli:NetworkManageCommandLine Interface #用命令行方式配置網卡信息
nmtui:NetworkManageTextUser Iterface #用文本界面的方式配置網卡信息
>方法一、網絡設置-nmcli
[root@localhost ~]# nmcli -h
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } #用法格式
OPTIONS
-t[erse] terse output
-p[retty] pretty output
-m[ode] tabular|multiline output mode
-f[ields] <field1,field2,...>|all|common specify fields to output
-e[scape] yes|no escape columns separators in values
-n[ocheck] don't check nmcli and NetworkManager versions
-a[sk] ask for missing parameters
-w[ait] <seconds> set timeout waiting for finishing operations #設置命令行超時退出時間
-v[ersion] show program version #顯示nmcli的版本信息
-h[elp] print this help #獲取幫助
OBJECT
g[eneral] NetworkManager's general status and operations
n[etworking] overall networking control
r[adio] NetworkManager radio switches
c[onnection] NetworkManager's connections
d[evice] devices managed by NetworkManager #顯示網卡設備信息
a[gent] NetworkManager secret agent or polkit agent
[root@localhost ~]# nmcli d #顯示網卡設備信息,查看要配置的網卡名稱
[root@localhost ~]# nmcli connection modify ethxx ipv4.method manual ipv4.address 192.168.4.1/24 ipv4.gateway 192.168.4.254 ipv4.dns 192.168.4.200 connection.autoconnect yes #method為manual設為手動,后面才能配ip,一套命令下來可以把獲取地址方式、ip地址、掩碼、網關、隨機自連連接方式都設置好了
[root@localhost ~]# nmcli connection up ethxx #激活剛才配置的網卡信息
>方法二、網絡設置-nmtui
[root@localhost ~]# nmtui #進入網卡配置文本界面,進入edit界面
配置完成后,要激活連接,重啟一下網卡服務,systemctl restart network
注意ip地址配置的時候是CIDR格式,CIDR的作用就是支持IP地址的無類規划,別忘了/24 ,默認是/32,會導致ssh+ip怎么連都連不上。
補充:
在RedHat的Linux系統中,會發現存在一個本機回送地址:127.0.0.1
[root@localhost ~]# ls /etc/sysconfig/network-scripts/
ifcfg-lo
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-lo #這是系統回環網卡地址配置信息
DEVICE=lo
IPADDR=127.0.0.1
NETMASK=255.0.0.0
NETWORK=127.0.0.0
# If you're having problems with gated making 127.0.0.0/8 a martian,
# you can change this to something else (255.255.255.255, for example)
BROADCAST=127.255.255.255
ONBOOT=yes
NAME=loopback
對於回送地址,查了一下相關資料,有以下收獲:
回送地址:127.0.0.1。一般用於測試使用。例如:ping 127.0.0.1 來測試本機TCP/IP是否正常。
127.0.0.1是回送地址,指本地機,一般用來測試使用。回送地址(127.x.x.x)是本機回送地址(Loopback Address),即主機IP堆棧內部的IP地址,主要用於網絡軟件測試以及本地機進程間通信,無論什么程序,一旦使用回送地址發送數據,協議軟件立即返回,不進行任何網絡傳輸。大家常用“ping 127.0.0.1”命令在本機上做回路測試,用來驗證本機的TCP/IP協議簇是否被正確安裝。
但你發現了嗎?使用“ping 127.1”這個命令也能得到同樣的測試結果,其實“ping 127.1”和“ping 127.0.0.1”這兩條命令是一樣的,都是在進行回路測試。為什么會這樣呢?
這就是Ping命令應用中IP地址的使用技巧。大家都知道,IP地址由32位二進制數字組成,為了方便大家記憶,將每8位二進制數字換算成十進制數字,因此就形成了容易記憶的由四部分十進制數字組成的IP地址(如127.0.0.1)。由於,Windows操作系統具有自動填充 “.0”的功能,因此我就可將“127.0.0.1”變為“127.1”。但是,這個“.0”的省略是有條件限制的,並不能任意省略。在Ping命令的應用中,只能將在IP地址的最后一部分十進制數字前出現的一個或多個“.0”省略,如把“ping 127.0.0.1”命令改寫成“ping 127.1”。如果這一個或多個 “.0”沒有緊挨着最后一部分的十進制數字,而是在其他位置,則這個“.0”不能省略,如“ping 202.0.96.1”就不能寫成“ping 202.96.1”。這是因為“ping 202.96.1”返回的結果是“202.96.0.1”的應答信息,而不是“202.0.96.1”的應答信息。