linux系統初始化-- 配置主機網絡

配置主機網絡

安裝完成linux 系統後,我們需要爲主機配置一個可用的網絡地址

下面以配置eth0接口爲例來說明下

說明

在RHEL7中重新定義了Linux網卡的命名規則,不再遵循原來的eth[0,1,……]。下面的例子中全部使用RHEL6的示例。

關於RHEL7的網卡命名原則

在進行centos7的pxe安裝測試中發現了網卡命名不再遵從來有的命名規則而啓用了最新的命名方式,官網文檔描述如下:

在 Red Hat Enterprise Linux 7 中,systemd 和 udevd 支持大量不同的命名方案。默認行爲是根據固件、拓撲及位置信息分配固定名稱。這個命名方法的優點是完全自動且可預測,即使添加或者刪除硬件也不會變化(未  發生重新列舉),且可以在不產生任何影響的情況下替換破壞的硬件。這個行爲的缺點是名稱有時比之前使用的名稱難讀,例如使用  enp5s0 替換 eth0。

目前 udevd 本身就支持下列命名方案。

  • 方案 1

合併固件或者 BIOS 的名稱爲板載設備提供索引號的名稱,例如:eno1。如果固件信息適用且可用,則 systemd 默認情況下根據這個方案命名接口,同時使用方案 2 作爲備選。

  • 方案 2

合併固件或者 BIOS 的名稱提供  PCI 快捷熱插拔插槽索引號的名稱,例如 ens1。如果固件信息適用且可用,則 systemd 默認情況下根據這個方案命名接口,同時使用方案 3 作爲備選。

  • 方案 3

合併硬件連接器物理位置的名稱,例如:enp2s0。如果固件信息適用且可用,則 systemd 默認情況下根據這個方案命名接口,同時使用方案 5 作爲備選。

  • 方案 4

合併接口 MAC 地址的名稱,例如:enx78e7d1ea46da。默認情況下 systemd 不會根據這個方案命名接口,但如果需要可以啓用這個功能。

  • 方案 5

傳統的不可預測內核屬性 ethX 命名,例如:eth0。如果其他所有方法都失敗,systemd 就根據這個方案命名接口。

如果該系統啓用了 BIOSDEVNAME,或者用戶已添加更改內核設備名稱的 udevd 規則,則這些規則將替代默認的 systemd 策略。

說到這裏,估計大家都知道了,那麼如果對於懷舊的人們來說,想讓RHEL7繼續使用eth0這種人類可以理解的方式的話如何修改呢,方法如下

編輯/etc/sysconfig/grub文件內容,增加“net.ifnames=0”,如下——

GRUB_CMDLINE_LINUX="vconsole.keymap=us  crashkernle=auto vconsole.font=latarcyrheb-sun16 net.ifnames=0 rhgb  quiet"

 執行:grub2-mkconfig -o  /boot/grub2/grub.cfg

 然後重命名配置文件——

mv /etc/sysconfig/network-scripts/ifcfg-enp0s3  ifcfg-eth0

     注意把配置文件裏面的“NAME=enp0s3”修改成“eth0”。

最後重啓系統,就一切OK了!

 

Shell># vi/etc/sysconfig/network-script/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:C9:F2:34

TYPE=Ethernet

UUID=f7710b52-b28d-4435-8ae3-8c095a094677

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

IPADDR=10.10.2.31

NETMASK=255.255.255.0

GATEWAY=10.10.2.254

DNS1=10.10.2.250

DNS2=8.8.8.8

因ifcfg-ethx中的信息較多,大部分我們用不到,下表中我們來說明下網卡配置文件中的選項和其意義。

選項

說明

備註

DEVICE

物理設備的邏輯名稱,如eth0,或者eno16777736,如果是ppp設備,可以沒有這個選項。


NAME

網絡鏈接的名稱,可以爲任意字符串,不包含特殊符號,一般與DEVICE名稱一致,也可以根據現實情況修改。

可以不填寫

HWADDR

物理設備的MAC地址

可以不填寫

MACAADR

物理設備MAC地址,可以不設定,也可以與HWADDR同時設定,同時設定時,必須一致

可以不填寫

TYPE

物理設備類型,可以選下面中的任意一種。

  • loop (Local Loopback)

  • slip (Serial Line IP)

  • cslip (VJ Serial Line IP)

  • slip6 (6-bit Serial Line IP)

  • cslip6 (VJ 6-bit Serial Line  IP)

  • adaptive (Adaptive Serial  Line IP)

  • strip (Metricom Starmode IP)  

  • ash (Ash)

  • ether (Ethernet)

  • tr (16/4 Mbps Token Ring)

  • tr (16/4 Mbps Token Ring  (New))

  • ax25 (AMPR AX.25)

  • netrom (AMPR NET/ROM)

  • rose (AMPR ROSE)

  • tunnel (IPIP Tunnel)

  • ppp (Point-to-Point  Protocol)

  • hdlc ((Cisco)-HDLC) lapb  (LAPB)

  • arcnet (ARCnet)

  • dlci (Frame Relay DLCI)

  • frad (Frame Relay Access  Device)

  • sit (IPv6-in-IPv4)

  • fddi (Fiber Distributed Data  Interface)

  • hippi (HIPPI)

  • irda (IrLAP)

  • ec (Econet)

  • x25 (generic X.25)

  • infiniband (InfiniBand)

寫了這一片,我都想吐槽自己,這個東西真心沒必要去寫入到配置文件中。系統在啓用網卡的時候會自動的判斷這個設備是啥類型的,如果這點都做不到,就可以去死了。

UUID

全球唯一標識符,幹啥用的????

可以不填寫

ONBOOT

是否開機時啓用該設備,布爾型輸入

  • yes  開機時啓動該設備

  • no  開機時不啓動該設備

不用網絡就填no

NM_CONTROLLED

NetManager服務控制,當NetManager服務啓用時,當修改網卡配置文件時,系統自動應用網卡配置文件,布爾型輸入

  • yes  允許NetManager控制

  • no  不允許NetManger控制。

說明:默認值是no

推薦設定成no或者不輸入,更推薦關閉NetManger服務,避免領導找你喝茶,哈哈。

USERCTL

是否允許非root用戶控制該設備,布爾型輸入

  • yes  非root用戶可以控制該設備

  • no  非root用戶被禁止控制該設備

推薦設定成no,

BOOTPROTO

啓動協議。這個是針對DHCP來說的,

  • none  不使用boot協議

  • static  使用靜態IP地址

  • bootp  使用bootp協議

  • dhcp  使用dhcp協議

看需要吧,對於服務器更多是時none或者static,也可以不寫。

PEERDNS

是否指定DNS,如果使用dhcp協議,默認爲yes。布爾型輸入

  • yes,如果設置DNS,修改/etc/resolv.conf

  • no  不修改/etc/resolv.conf

可以不輸入,dhcp時默認爲yes,其它推薦設置爲no

IPV6INIT

是否初始化IPv6,布爾型輸入

  • yes  啓用IPv6

  • no  不啓用IPv6

默認爲yes

DEFROUTE

默認路由             


PEERROUTES

布爾型輸入

  • yes  啓用

  • no  不啓用


IPV4_FAILURE_FATAL



IPV6_AUTOCONF



IPV6_DEFROUTE



IPV6_PEERDNS



IPV6_FAILURE_FATAL



IPADDR

網卡IPv4地址設定,格式爲點分十進制,示例如下

IPADDR=192.168.1.1


NETMASK

網卡IPv4子網掩碼設定,格式爲點分十進制,示例如下

NETMASK=255.255.255.0


PREFIX

子網掩碼長度,可以單獨使用,也可以與NETMASK一起使用。推薦不要寫入這個,偶爾會出問題!哈哈。示例如下

PREFIX=24

推薦不使用

NETWORK

網卡IPv4網絡地址設定,格式爲點分十進制

可以不設定

BROADCAST

網卡IPv4廣播地址設定,格式爲點分十進制

可以不設定

GATEWAY

網卡IPv4網關設定,格式爲點分十進制

可以不設定

IPV6ADDR

網卡IPv6地址,格式爲十六進制


IPV6DEFAULTGW

網卡IPv6網關地址,


DNS1

網卡主DNS服務器地址設定


DNS2

網卡輔DNS服務器地址設定


MASTER

這個不屬於網絡配置選項,在雙網卡綁定時使用


SLAVE

這個不屬於網絡配置選項,在雙網卡綁定時使用


配置完成後,重新啓動網絡服務

RHEL6

Shell># service network restart

RHEL7

Shell># service network restart

或者

Shell># systemctl restart  network.service

驗證

RHEL6

Shell># ip addr

Shell>#  ifconfig –a

RHEL7

Shell># ip addr

Shell>#  ifcfg –a

說到這裏了,我們說下linux下動態修改ip和其它網絡配置的命令及其方法吧。

說明:

RHEL7中最小化安裝時不在包括ifconfig命令了,在RHEL7中,可以使用ifcfg命令來實現部分ifconfig的功能接口地址全部使用eth0 作爲示例,如RHEL7中有明顯不同的,會特別指出。

查看接口詳細信息

Shell># ifconfig [ ] [ -a ] [ -v ]

輸出如下

eth0      Link encap:Ethernet  HWaddr 00:0C:29:A4:9A:76 

          inet addr:192.168.8.140  Bcast:192.168.8.255  Mask:255.255.255.0

          inet6 addr:  fe80::20c:29ff:fea4:9a76/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500   Metric:1

          RX packets:983 errors:0 dropped:0  overruns:0 frame:0

          TX packets:456 errors:0 dropped:0  overruns:0 carrier:0

           collisions:0 txqueuelen:1000  

          RX bytes:77387 (75.5 KiB)  TX bytes:62593 (61.1 KiB)

          Interrupt:19 Base address:0x2000

 

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:0 errors:0 dropped:0  overruns:0 frame:0

          TX packets:0 errors:0 dropped:0  overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

查看接口數據包統計

RHEL6

Shell># ifconfig –s [device]

Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0       1500   0        1024      0      0         0      467      0         0      0 BMRU

lo        65536   0           0      0      0         0        0      0         0      0 LRU


RHEL7

Shell>#ifstat [device]

#kernel

Interface        RX Pkts/Rate    TX Pkts/Rate    RX Data/Rate    TX Data/Rate 

                 RX Errs/Drop    TX Errs/Drop    RX Over/Rate    TX Coll/Rate 

lo                     0 0             0 0             0 0             0 0     

                       0 0             0 0             0 0             0 0     

eno16777736           10 0             6 0           830 0          1036 0     

                       0 0             0 0             0 0             0 0   


關閉接口

Shell># ifconfig eth0 down

Shell># ifcfg eth0 down

開啓接口

Shell># ifconfig eth0 up

Shell># ifcfg eth0 up

配置或者修改網絡地址(以IPv4爲例)

Shell># ifconfig eth0 192.168.8.145/24

Shell># ifcfg eth0 192.168.8.145/24(存在疑問?好像在RHEL7中有問題)

添加第二(或更多)地址

Shell># ifconfig eth0 add192.168.8.140/24

刪除第二(或更多)地址

Shell># ifconfig eth0 del192.168.8.140/24

修改子網掩碼

Shell># ifconfig eth0 netmask 255.255.254.0

修改默認網關(僅RHEL6可用)

Shell>#route add default gw192.168.8.2

修改DNS

shell># vi /etc/resolv.conf

內容如下

nameserver ip_addr

示例

nameserver 8.8.8.8

可以填寫多個,一般填兩個就好了。

修改主機名稱

Shell># hostname your_new_hostname

永久化保存

Shell># vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=your_new_hostname

好了,說多了,就先這樣了,RHEL7的後期在補充吧。


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