RHEL系列網絡配置

        RHEL系列發行版的網卡配置可分爲tui(curses-based text user interface(文本用戶界面)、命令行配置和配置文件配置。

         命令行模式下的網卡配置會立即生效,但只是當前有效,網絡服務重啓或是系統重啓,之前的所有配置都會失效;而配置文件以及tui下的配置都會永久保存,但都不會立即生效,需要重啓網絡服務才能生效。

         網卡獲取IP地址的方式也分爲兩種:靜態指定和動態獲取(DHCP)


         下面將逐一演示各種網卡配置方法:



1、tui (Curses-bases text user interface)


CentOS6和CentoS7的tui略有不同,CentOS6爲setup命令啓動,而CentOS7上則是nmtui命令來啓動。

操作如下:

注:啓動tui界面,需要使用可以支持tui界面的終端或終端工具:本地物理終端或是xshell,而且配置網卡服務的用戶必須具有管理員權限,即root用戶。

a、在命令行鍵入setup命令:

wKiom1XkWB7CVZAzAAF5G6SUklg046.jpgb、如下圖,輕鬆完成以下配置:

wKioL1XkW1OxtKTEAAEXSmy0Ajo858.jpg

配置完相應的ip以及DNS後,在命令行鍵入

[root@www ~]# service network restart           ##CentOS6網絡服務重啓命令

[root@centos7-51 ~]# systemctl restart network    ##CentOS7網絡服務重啓命令

網絡服務重啓後,新配置的ip地址便可以生效使用了。

CentOS6和CentOS7的tui啓動命令雖然不同,但配置界面很相似。按照界面提示一步一步進行配置保存即可。












2、配置文件

        這裏需要說一下的是,CentOS6上面網卡的命名一般爲:eth開頭,後面跟上網卡的編號,

例如,第一塊網卡名爲eth0,第二塊網卡名爲eth1等等,Dell服務器對網卡的命名可能爲em開頭,後面跟編號,網卡名爲em0,em1等等。

        CentOS7上面的網卡一般名爲eno開頭,後面跟上一串數字,例如我的網卡

wKioL1XkXhGyry5CAAEcsqHEjZs271.jpg

網卡的配置文件在/etc/sysconfig/network-scripts目錄下,以ifcfg-開頭

例如我CentOS6上的網卡名爲eth0,則我的網卡配置文件的便是:/etc/sysconfig/network-scripts/ifcfg-eth0  ,下面我編輯一下這個文件,說明一下文件裏面的各項參數的含義:

命令行鍵入:

[root@www ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE="eth0"            ##*設備名,必須和文件名與網卡名稱一致
BOOTPROTO="static"    ##*啓動協議,若手工指定靜態IP則爲 static或者none,若動態獲取則爲 dhcp
HWADDR="00:0C:29:7F:EA:07"    ##*網卡的mac地址,必須和eth0網卡的mac地址一致
NM_CONTROLLED="no"    ##是否使用NetworkManager管理此網卡,no代表不啓用,yes代表啓用
ONBOOT="yes"    ##*系統引導時是否激活此設備
TYPE="Ethernet"    ##*網卡類型,默認即可
UUID="1fdab342-8c92-432b-854d-39b2f37fabc1"    ##網卡的UUID,設備的唯一標識符
DNS1=##第一個DNS服務器指向;若此處沒有此項,需在/etc/resolve.conf中指定dns服務器ip地址
IPADDR="172.16.113.14"    ##指定IP地址
NETMASK="255.255.0.0"    ##指定子網掩碼
GATEWAY="172.16.0.1"    ##指定默認網關

編輯完此配置文件,按一下Esc鍵,再輸入:wq便可保存退出此文件。

打*的爲必選項。若BOOTPROTO爲dhcp,則IPADDR、NETMASK、GATEWAY可不寫


例如我CentOS7上的網卡名爲eno16777736,則我的網卡配置文件便是:

/etc/sysconfig/network-scripts/ifcfg-eno16777736,下面我們編輯此文件,說明一下各項參數的含義:

命令行輸入

[root@centos7-51 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 
TYPE=Ethernet        ##網絡類型
BOOTPROTO=dhcp    ##啓動協議,若手工指定靜態IP則爲 static或者none,若動態獲取則爲 dhcp
DEFROUTE=yes
UUID=fa2124e6-07d9-4d0f-bb3d-230627b48aa7
DEVICE=eno16777736    ##設備名稱
ONBOOT=yes        ##*系統引導時是否激活此設備
DNS1=##第一個DNS服務器指向;若此處沒有此項,需在/etc/resolve.conf中指定dns服務器ip地址
IPADDR="172.16.113.14"    ##指定IP地址
NETMASK="255.255.0.0"    ##指定子網掩碼
GATEWAY="172.16.0.1"    ##指定默認網關


編輯完此配置文件,按一下Esc鍵,再輸入:wq便可保存退出此文件。



路由相關的配置文件:

/etc/sysconfig/network-scripts/route-IFACE   ##和網卡配置文件名稱尾部相同

路由的配置文件格式有兩種分格,如下:

1、target via GW     

例如:192.168.0.0/24 via 172.16.0.1

2、每三行定義一條路由信息   

ADDRESS#=TARGET    “#”換成數字

NETMASK#=   “#”換成數字

GATEWAY#=  “#”換成數字




編輯完成網卡的配置文件,重啓網絡服務或是重啓系統,IP地址便可生效使用。

DNS指向配置文件爲:/etc/resolv.conf 

  文件格式爲:    nameserver 192.168.0.1

    DNS服務器可有三個,即在此文件中鍵入三次上述格式內容即可。













3、命令行模式,即時生效,重啓失效。

        網絡接口的配置命令有三大類:

            a、ifconfig

            b、ip

            c、nmcli (CentOS7)


a、ifconfig命令的使用      

    ifconfig -a | --all   顯示所有接口的配置信息,默認ifconfig 不加任何選項即爲ifconfig -a

[root@www ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7F:EA:07  
          inet addr:192.168.0.54  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe7f:ea07/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9405 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:941973 (919.8 KiB)  TX bytes:1788 (1.7 KiB)
 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:344 (344.0 b)  TX bytes:344 (344.0 b)


 若想關閉eth0,則使用命令:

[root@www ~]# ifconfig eth0 down    ##開啓則爲 ifconfig eth0 up 或者ifup eth0 、ifdown eth0
給eth0設置ip地址爲:
[root@www ~]# ifconfig eth0 192.168.16.1/24 ##或者 ifconfig eth0 192.168.16.1 netmask 255.255.255.0
[root@www ~]# ifconfig -a   ##查看網卡配置,ip配置成功。
eth0      Link encap:Ethernet  HWaddr 00:0C:29:7F:EA:07  
          inet addr:192.168.16.1  Bcast:192.168.16.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe7f:ea07/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9800 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:978177 (955.2 KiB)  TX bytes:3170 (3.0 KiB)


路由管理命令:route

route -n  列出所有路由條目,不加-n會反解ip爲主機名

例如:

[root@www ~]# route -n   ##列出當前系統上的路由條目
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.16.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.168.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         192.168.168.1   0.0.0.0         UG    0      0        0 eth1
route add 添加一個路由條目:格式如下
[root@www ~]# route add -net 172.16.0.0/24 gw  192.168.168.1  ##-net指明是添加網段路由,gw指明下一跳或網關地址


route del  刪除一個路由條目:,格式如下

[root@www ~]# route del -net 172.16.0.0/24



b、ip命令的使用:

命令格式:       ip [ OPTIONS ] OBJECT { COMMAND | help }    

                常用的COMMAND有:link(設備相關)  addr(IP地址相關)   route(路由相關)   

ip link(網絡設備相關)

            常用選項:    

show

[dev eth0]  查看指定接口信息

[up] 僅顯示啓用狀態的接口

set 接口 up、down    (開啓、關閉指定接口)


[root@www ~]# ip link show   ##查看當前系統所識別的接口屬性信息,可在後面加上up,只查看使用中的接口信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7f:ea:07 brd ff:ff:ff:ff:ff:ff
[root@www ~]# ip link set eth0 down ##關閉eth0 ,相當於 ifconfig eth0 down / ifdown eth0
[root@www ~]# ip link set eth0 up    ##開啓eth0 ,相當於ifconfig eth0 up / ifup eth0

ip addr 地址相關

add|replace|change IPADDR dev   ##添加|替換|更改IP地址

flush 清除所有地址

label 'eth0:0'   添加在網卡最後,給ip添加標籤

show 

例如:

[root@www ~]# ip addr show  ##顯示當前接口信息,show後面可跟具體的接口,查看指定接口信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7f:ea:07 brd ff:ff:ff:ff:ff:ff
    inet 192.168.16.1/24 brd 192.168.16.255 scope global eth0
    inet6 fe80::20c:29ff:fe7f:ea07/64 scope link 
[root@www ~]# ip addr add 192.168.1.2/24 dev eth0  ##相當於ifconfig eth0 192.168.1.2/24
[root@www ~]# ip addr show eth0  ##查看eth0的屬性信息
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7f:ea:07 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 scope global eth0
    inet6 fe80::20c:29ff:fe7f:ea07/64 scope link 
       valid_lft forever preferred_lft forever


若此時,再對eth0執行IP地址添加命令,則會將第二次添加的ip設置爲eth0的輔助ip,例如:

[root@www ~]# ip addr add 192.168.1.3/24 dev eth0  ##輔助ip可有多個
[root@www ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:7f:ea:07 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 scope global eth0
    inet 192.168.1.3/24 scope global secondary eth0   ##輔助IP地址已配置成功
    inet6 fe80::20c:29ff:fe7f:ea07/64 scope link 
       valid_lft forever preferred_lft forever

ip route路由相關:

常用選項:

show  顯示路由信息,相當於route -n

add    添加路由條目,類似於route add

例如:ip route add  192.168.0.0/24 via 172.16.0.1  dev eth0

flush

[dev IFACE]

例如:

[root@www ~]# ip route flush dev eth0

[via prefix] 刪除一下一跳爲***的條目

例如:

[root@www ~]# ip route flush via 192.168.1.1






3、nmcli命令


命令格式:

 nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

其實nmcli和centos6上的ip命令極其相似,命令格式幾乎完全相同,只不過用了不同的選項和子命令。

並且nmcli的子命令含義其實也和ip命令的子命令差不多。


子命令及常用選項:子命令可簡寫

connection   簡寫爲:c  或者 con

    show    顯示網卡信息

    modify 設置網卡屬性

            modify的格式:

                modify IFACE [+|-]setting.property value

            setting.property:ipv4.address|ipv4.gateway|ipv4.dns|ipv4.method (manual)

device   簡寫爲 d 或者 dev

    status    查看網卡的狀態信息

    show    查看網卡的屬性信息

例如:

[root@centos7-51 ~]# nmcli con show    ##顯示網卡接口信息
NAME         UUID                                  TYPE            DEVICE      
eno16777736  fa2124e6-07d9-4d0f-bb3d-230627b48aa7  802-3-ethernet  eno16777736
[root@centos7-51 ~]# nmcli con modify eno16777736 +ipv4.addresses 192.168.1.3/24  ##爲接口設置輔助IP地址,若不加“+”意爲更改此網卡的ip地址
[root@centos7-51 ~]# nmcli dev show  #上述添加了輔助地址,但此處並未生效,需要重新開關一下接口才可生效
GENERAL.DEVICE:                         eno16777736
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:87:35:2A
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     eno16777736
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/14
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.0.58/24
IP4.GATEWAY:                            192.168.0.1
IP4.DNS[1]:                             192.168.0.1
IP6.ADDRESS[1]:                         fe80::20c:29ff:fe87:352a/64
IP6.GATEWAY:          
[root@centos7-51 ~]# nmcli con down eno16777736 ; nmcli con up eno16777736
##down爲關閉,up爲開啓,相當於ip link set INTERFACE up/down
Connection 'eno16777736' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/16)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/17)
[root@centos7-51 ~]# nmcli d show  eno16777736
##此時,命令所查出的結果顯示,此網卡的輔助ip地址已生效,此時也證明了,nmcli所配置的接口屬性是永久生效的。
GENERAL.DEVICE:                         eno16777736
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:87:35:2A
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     eno16777736
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/17
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.0.58/24
IP4.ADDRESS[2]:                         192.168.1.3/24
IP4.GATEWAY:                            192.168.0.1
IP4.DNS[1]:                             192.168.0.1
IP6.ADDRESS[1]:                         fe80::20c:29ff:fe87:352a/64
IP6.GATEWAY:                            
[root@centos7-51 ~]# nmcli con modify eno16777736 ipv4.gateway 192.168.1.1 ##設置默認網關







補充兩條查看服務以及所對應端口號的命令:

ss和netstat,這兩條命令功能相同,選項也幾乎相同。

網絡連接相關

   [address_family_options]  

   [--tcp|-t]  

   [--udp|-u]   

   [--raw|-w]    裸套接字(bu shiyong tcp ye bu shiyong udp)

   [--listening|-l]

   [--all|-a]    所有狀態

   [--numeric|-n] 不反解ip和端口號(以數字格式顯示ip和端口)

   [--extend|-e[--extend|-e]] 擴展格式信息

   [--program|-p] 顯示相關進程及PID

例如:

[root@www ~]# ss -tunlp  ##顯示當前系統中處於監聽模式下的基於tcp以及udp協議的服務,並且協議以端口模式呈現
Netid  State      Recv-Q Send-Q                                                                             Local Address:Port                                                              Peer Address:Port 
udp    UNCONN     0      0                                                                                              *:68                                                                                            *:*      users:(("dhclient",2425,6))
udp    UNCONN     0      0                                                                                      127.0.0.1:867                                                                                           *:*      users:(("rpc.statd",1539,5))
udp    UNCONN     0      0                                                                                              *:111                                                                                           *:*      users:(("rpcbind",1476,6))
udp    UNCONN     0      0                                                                                              *:631                                                                                           *:*      users:(("cupsd",1573,9))
udp    UNCONN     0      0                                                                                              *:48156                                                                                         *:*      users:(("rpc.statd",1539,8))
udp    UNCONN     0      0                                                                                              *:803                                                                                           *:*      users:(("rpcbind",1476,7))
udp    UNCONN     0      0                                                                                             :::40117                                                                                        :::*      users:(("rpc.statd",1539,10))
udp    UNCONN     0      0                                                                                             :::111                                                                                          :::*      users:(("rpcbind",1476,9))
udp    UNCONN     0      0                                                                                             :::803                                                                                          :::*      users:(("rpcbind",1476,10))
tcp    LISTEN     0      128                                                                                           :::22                                                                                           :::*      users:(("sshd",1743,4))
tcp    LISTEN     0      128                                                                                            *:22                                                                                            *:*      users:(("sshd",1743,3))
tcp    LISTEN     0      128                                                                        127.0.0.1:631                                                                                           *:*      users:(("cupsd",1573,7))
tcp    LISTEN     0      128                                                                                          ::1:631                                                                                          :::*      users:(("cupsd",1573,6))
tcp    LISTEN     0      100                                                                                          ::1:25                                                                                           :::*      users:(("master",1852,13))
tcp    LISTEN     0      100                                                                                    127.0.0.1:25                                                                                            *:*      users:(("master",1852,12))
tcp    LISTEN     0      128                                                                                    127.0.0.1:6010                                                                                          *:*      users:(("sshd",2059,8))
tcp    LISTEN     0      128                                                                                          ::1:6010                                                                                         :::*      users:(("sshd",2059,7))
tcp    LISTEN     0      128                                                                                           :::46305                                                                                        :::*      users:(("rpc.statd",1539,11))
tcp    LISTEN     0      128                                                                                            *:57612                                                                                         *:*      users:(("rpc.statd",1539,9))
tcp    LISTEN     0      128                                                                                           :::111                                                                                          :::*      users:(("rpcbind",1476,11))
tcp    LISTEN     0      128                                                                                            *:111                                                                                           *:*      users:(("rpcbind",1476,8))


netstat命令還可查看路由條目信息:

[root@www ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.168.0   0.0.0.0         255.255.255.0   U         0 0          0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
0.0.0.0         192.168.168.1   0.0.0.0         UG        0 0          0 eth1




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章