1. 程式人生 > >Linux中的常見網絡配置

Linux中的常見網絡配置

route grub rest 目標 技術分享 文件中 方式 tables The

Linux中的網絡設置

Linux系統具有強大的網絡功能,例如路由、Bonding等功能。

一.基本網絡配置

Linux系統安裝完成之後,就會自動生成網卡配置文件,位於/etc/sysconfig/network-scripts/下,文件名為ifcfg-eth0。添加了新網卡後如果沒有此文件,可以自己創建一個相對應的文件。
ifcfg-eth0 網卡文件的格式:

1.配置選項:

HWADDR:對應的設備MAC地址
BOOTPROTO:激活此設備時使用的地址配置協議,常用的dhcp, static, none,bootp
NM_CONTROLLED:NM是NetworkManager的簡寫,此網卡是否接受NM控制;建議CentOS6為“no
ONBOOT:在系統引導時是否激活此設備
TYPE:接口類型;常見有的Ethernet, Bridge
UUID:設備的惟一標識
GATEWAY: 默認網關
DNS1:第一個DNS服務器指向
DNS2:第二個DNS服務器指向
USERCTL:普通用戶是否可控制此設備
PEERDNS:如果BOOTPROTO的值為“dhcp”,是否允許dhcp server分配的
dns服務器指向信息直接覆蓋至/etc/resolv.conf文件中
*IPADDR:指明IP地址
*NETMASK:子網掩碼
*DEVICE:此配置文件對應的設備
  • 其中最後帶*號的三條配置是必須要有的,其他的根據實際情況需要配置。

2.重啟網絡服務,使配置文件生效

centos 6:
service NetworkManager stop NetworkManager會和network沖突,所以建議關閉
service network restart 重啟network服務

centos 7:
systemctl restart network

二.路由功能配置

在實際生產中我們也可以把Linux系統配置為路由器。
如下圖所示,共有5臺主機,中間R1,R2,R3三臺作為路由器使用。首先我們為5臺主機配置好相關的IP地址。
技術分享圖片

1.開啟路由功能

查看路由功能是否開啟:

cat /proc/sys/net/ipv4/ip_forward 1 為開通,0 為未開通

開通路由功能

echo 1 > /proc/sys/net/ipv4/ip_forward 此修改內核文件為臨時性的,修改即生效,但重啟之後會失效

寫入相關文件

/etc/sysctl.conf 文件中,修改 net.ipv4.ip_forward = 1

2.添加靜態路由

路由配置使用route命令
route

route add/del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
add 添加路由
del 刪除路由
-host 配置為主機路由
-net 配置為網段路由
default 默認路由
target 目標地址或目標網段
gw 後面跟上網關的地址
dev 後面跟上路由出口的網卡設備名

首先,我們為兩臺主機配置網關,或者添加默認路由。以A主機為例:

route add default 192.168.17.3 dev eth0

然後再根據網絡具體情況配置靜態路由。以R1為例
R1:

route add -net 192.168.17.0/24 gw 192.168.27.2
route add -net 192.168.87.0/24 gw 192.168.37.3

這樣就完成了路由功能的配置,但這些路由表示臨時的,我們需要寫到文件中。

  • 1.創建對應網卡的配置文件,在/etc/sysconfig/network-scripts/ 文件夾下,名稱為route-IFACE IFACE為網卡的具體名稱
  • 2.文件內容格式為:192.168.17.0/24 via 192.168.27.2
  • 3.每個網卡對應不同的文件和其相應的路由

系統防火墻默認是禁止forward轉發,所以在進行試驗時可以執行以下命令清除防火墻設置

iptables -F

這樣路由表就不會因為重啟而丟失。

三.Bonding功能配置

通過Bonding,對同一個IP地址同時綁定兩塊網卡,可以實現高可用或者負載均衡。綁定之後兩塊網卡將被修改為相同的MAC地址。

1.Bonding的3種常見工作模式

mode 0 (balance-rr) 從頭到尾順序的在每一個網卡上發送數據包。
mode 1 (active-backup) 只有一個網卡在工作,當工作網卡出現問題時,備用網卡才會被激活使用
mode 3 (broadcast) 所有網卡上傳送所有報文

2.Bonding配置

在這裏,我以eth0、eth1兩塊網卡為基礎。
首先,創建bond0的配置文件ifcfg-bond0,在/etc/sysconfig/network-scripts/下。
ifcfg-bond0 文件:

DEVICE=bond0
BOOTPROTO=none
BONDING-OPTS= "miimon=100 mode=1" mode為模式的值,miion表示兩塊網卡的詢問時間間隔
IPADDR=192.168.37.100
PREFIX=24

網卡文件的配置,以ifcfg-eth1為例

DEVICE=eth1 對應的設備名
MASTER=bond0 所屬於的bond
SLAVE=yes

3.重啟服務

service network restart centos 6
systemctl restart network centos 7

有時候重啟服務也不能使Bonding生效,這時候可以通過卸載、加載相對應的功能模塊來使服務生效。

rmmode bonding 卸載bonding
modprobe bonding 重新加載bonding

查看bond狀態

cat /proc/net/bonding/bond0

4.刪除Bonding

首先禁用bond0

ifconfig bond0 down

刪除相應功能模塊

rmmod bonding

最後刪除相對應的配置文件。

四.centos 7 中的網卡采用傳統命名方式

centos 7 系統采用了新的網卡命名方式,根據網卡的性質而命名為相對應的名稱。有時候因為個人習慣,我們可以修改為傳統的命名方式。

(1) 編輯/etc/default/grub配置文件

GRUB_CMDLINE_LINUX="rhgb quiet " quiet後面加入 net.ifnames=0
或:修改/boot/grub2/grub.cfg

(2) 為grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg

(3) 重啟系統

reboot

Linux中的常見網絡配置