如何實現把linux當路由器來使用,實現不同網段之間的通信訪問,這就是今天所要實現的路由配置
環境準備:4臺虛擬機,兩臺中間兩臺作為路由器來使用(每天主機兩塊網卡),其他兩臺作為終端主機,目的是讓不同網段的兩臺主機之間互相訪問(這里在vmware里面做的實驗,所以網卡的類型都設置為橋接)
拓撲圖:
步驟一:將A、D兩臺主機配置網關(主機路由),使其兩臺主機能夠與B、C路由器中的主機互相通信
A主機地址配置
[root@xiao ~]# ip addr add 10.0.0.1/8 dev eth0
D主機地址配置
[root@xiao ~]# ip addr add 192.168.0.1/24 dev eth0
至此A、D兩臺主機的地址就配置完成了,但是此時主機A和主機D之間是不能通信的,因為從主機A到主機D不在同一個網段中,A訪問D需要經過C路由器,而在B路由器上沒有添加路由能夠到達C路由器的網絡中去,這時候要在B主機加條路由使得B網絡中的主機能夠到達C網絡,站在B路由器的角度,路由就應該是經過B路由器的1接口指向C主機的1接口地址(臨近路由器的近端接口地址)使其A和D能夠通信,書寫路由規則,B路由器要想訪問D網絡,B路由器當中的主機想要到達C網絡,就必須,為了避免外界因素的影響,需要將主機A、D的防火墻關掉
iptables -F
B路由器路由配置
[root@xiao ~]#route add -net 192.168.0.0/24 gw 172.48.0.2 dev eth1
C 主機地址配置
[root@xiao ~]#route add -net 10.0.0.0/8 gw 172.48.0.1 dev eth1
啟用路由功能
最后兩臺路由器需要開啟轉發的功能,才能實現A主機與D主機的通信,所以需要開始ip轉發的功能,這里我們臨時打開轉發功能
[root@xiao ~]#echo “1” > /proc/sys/net/ipv4/ipv4_forward=1
測試是否主機間能夠通信
使用A主機來ping A主機的網關,是否能通,如果能通,在去C主機的1接口的地址,如果能通,最后pingD主機,相反由D主機來ping向A主機,如果當中某個地方不通,就需要排錯了,如果A主機ping它的網關不通,那么就應該是路由條目寫錯了,檢查重新寫一個路由條目,如果A到B是通的,但A主機ping C主機的1口的地址不通,那么就是B路由器和C路由器的路由條目有問題,依次這樣排錯,知道網絡通為止。
總結:在網絡中,各個路由器的路由條目應該是出去的接口指向臨近端路由器接口的ip地址,其次,路由器之間應該是一去一回的,你能訪問其他的網絡,那其他的網絡也能訪問你
網絡組的實現
網絡組介紹
網絡組:是將多個網卡組合在一起的方法,從而實現容錯和提高吞吐量,網絡組不同于舊版bonding技術,提供了更好的性能和擴展性,網絡組由內核驅動和teamd守護進程實現
工作模式
broadcast 廣播
roundrobin 輪巡
active-backup 主備模式
loadbalance 負載均衡
lacp(implemments the 802.3ad Link Aggregatin Control)動態鏈路聚合
注意:除了主備模式外,其他幾種模式需要在交換機當中設置相關的屬性功能,才能啟用網絡的幾種工作模式。
環境準備:一臺CentOS7主機,需要兩塊網卡,這里我給大家配置的是主備模式,保證系統當中裝了nmcli這個網絡管理工具,和teamdctl這個工具,如果沒有安裝使用yum安裝team這個包,即可
創建網絡組接口
[root@xiao ~]# nmcli connection add con-name team0 type team ifname team0 config '{ "runner": {"name": "activebackup"}}'
如果覺得書寫"runner": {"name": "activebackup"}這段有困難時,可以man teamd.conf然后這段復制即可
為網絡組接口配置ip和設置為靜態屬性
[root@xiao ~]# nmcli connection modify team0 ipv4.addresses 10.1.252.150
[root@xiao ~]# nmcli connection modify team0 ipv4.method manual
將兩個網卡加進網絡組當中去
[root@xiao ~]# nmcli connection add con-name team0-1 type team-slave ifname eno16777736 master team0
[root@xiao ~]# nmcli connection add con-name team0-1 type team-slave ifname eno33554984 master team0
啟用網絡組
[root@xiao ~]# nmcli connection up team0
[root@xiao ~]# nmcli connection up team0-1
[root@xiao ~]# nmcli connection up team0-2
重啟網絡服務
systemctl restart network
查看狀態
setup:
runner: activebackup
ports:
eno16777736
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
eno33554984
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 0
runner:
active port: eno16777736
當我down掉一塊網卡的時候,備用的網卡就會頂上去繼續工作
setup:
runner: activebackup
ports:
eno16777736
link watches:
link summary: down
instance[link_watch_0]:
name: ethtool
link: down
down count: 2
eno33554984
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 2
runner:
active port: eno33554984
測試
用其他主機來ping網絡組的IP地址down掉其中一塊網卡,看查看網路組的狀態,是否網卡已經切換,看是否還能繼續ping網絡組
原創文章,作者:fszxxxks,如若轉載,請注明出處:http://www.www58058.com/44515
文章實踐性較強,對于理論部分過于簡單了,例如bond的三種模式需要詳細的給予解釋,同時對于實驗效果通過圖片來展示是最直觀的哦。