《LINUX教學:CentOS下GRE隧道配置》要點:
本文介紹了LINUX教學:CentOS下GRE隧道配置,希望對您有用。如果有疑問,可以聯系我們。
一、拓撲圖:
本實驗環境為兩臺CentOS 6.0 Linux系統,由于是測試使用,這里采用配置虛擬網卡的方式來辦理設備只有一個網卡的情況.為兩臺服務器配置GRE隧道,隧道地址使用172.16.1.0/30網段.使得兩臺Linux的內網卡相互通信,從而打通兩個內網,使得兩個內網成為一個局域網.
二、虛擬網卡接口配置:
這里只例舉虛擬網配置,真實網卡配置不闡述.
1、切換目錄到網卡文件目錄下:
[root@linuxidc ~]# cd /etc/sysconfig/network-scripts/
2、查看網卡文件,找到網卡原文件eth0,啟用虛接口可命名為eth0:0
首先復制網卡文件模版(在上面這個文件目錄下操作):
[root@linuxidc network-scripts]# cp ifcfg-eth0ifcfg-eth0:0
使用ls命令查看,會發現多出一塊網卡文件ifcfg-eth0:0.編輯該網卡文件,配置上內網卡地址(20.0.1.1/24),注意此網卡文件里不配置網關,如果配置網關需加路由才能實現外網拜訪,這里只配置虛接口地址,不啟用網關.
[root@Linux1 ~]# vi ifcfg-eth0:0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0:0(設備名,注意修改為0:0)
ONBOOT=yes(設置為開機啟動)
HWADDR=00:0c:29:08:48:63(虛接口MAC,即網卡實際MAC)
NETMASK=255.255.255.0
IPADDR=20.0.1.1
TYPE=Ethernet
IPV6INIT=no
3、關閉網絡管控服務(不關閉,虛接口起不來):
[root@linuxidc network-scripts]# serviceNetworkManager stop(注意大小寫)
4、設置開機不啟動網絡管控服務:
[root@linuxidc network-scripts]# chkconfigNetworkManager off
5、重啟網絡服務
[root@linuxidc network-scripts]# servicenetwork restart
6、查詢DNS配置是否正常:
[root@linuxidc network-scripts]# vi/etc/resolv.conf
7、關閉防火墻(不關閉對虛接口地址有影響),并設置為開機不啟動:
[root@linuxidc network-scripts]# serviceiptables stop
[root@linuxidc network-scripts]# chkconfigiptables off
配置完成后ping測試虛接口地址是否配置成功,也可使用ifconfig查看配置情況.
L2配置類似,這里不追述.
三、GRE tunnel隧道配置:
1、加載內核模塊
首先查看內核模塊文件:[root@linuxidcnetwork-scripts]# modprobe -l |grep ip_gre.ko
(以前的版本的kernal中的GRE模塊都是ip_gre.o,而RHEL5中叫ip_gre.ko)
本實驗情況的路徑如下:
然后加載GRE模塊:
[root@linuxidc network-scripts]# insmod/lib/modules/2.6.32-71.el6.x86_64/kernel/net/ipv4/ip_gre.ko
注意上圖命令中,前半部分為默認路徑,不同版本默認路徑不同.
注:內核模塊加載成功后我們必要設置開機自動加載,不然重啟后需手動加載.這里我們寫一個.Sh的執行文件,在后面講述文件內容.
2、配置tunnel
Linux1:
[root@linuxidc ~]# ip tunnel add tunnel0 mode gre remote 192.168.31.9 local? ? ? ? ? ? ? 192.168.77.137 ttl 245
[root@linuxidc ~]# ip link set tunnel0 up mtu 1400
[root@linuxidc ~]# ip addr add 172.16.1.1/30? dev tunnel0
[root@linuxidc ~]# ip addr add 172.16.1.1/30 peer 172.16.1.2/30 dev tunnel0
[root@linuxidc ~]# ip route add 20.0.2.1/32 dev tunnel0
Linux2:
[root@linuxidc ~]# ip tunnel add tunnel0 mode gre remote 192.168.77.137 local192.168.31.9 ttl 245
[root@linuxidc ~]# ip link set tunnel0 up mtu 1400
[root@linuxidc ~]# ip addr add 172.16.1.2/30? dev tunnel0
[root@linuxidc ~]# ip addr add 172.16.1.2/30 peer 172.16.1.1/30 dev tunnel0
[root@linuxidc ~]# ip route add 20.0.1.1/32dev tunnel0
3、配置tunnel開機執行文件
[root@linuxidc ~]# vi /etc/init.d/gre.sh (兩個Linux系統中同時創建該文件)
L1中gre.sh配置內容如下:
insmod /lib/modules/2.6.32-71.el6.x86_64/kernel/net/ipv4/ip_gre.ko(開機加載內核模塊)
ip tunnel add tunnel0 mode gre remote 192.168.31.9 local 192.168.77.137 ttl 245
ip link set tunnel0 up mtu 1400
ip addr add 172.16.1.1/30? dev tunnel0
ip addr del 172.16.1.1/30 peer 172.16.1.2/30 dev tunnel0
ip addr add 172.16.1.1/30 peer 172.16.1.2/30 dev tunnel0
ip route add 20.0.2.1/32 dev tunnel0
chmod +x /etc/init.d/gre.sh
echo "/etc/init.d/gre.sh">> /etc/rc.d/rc.local(將該文件加載到開機啟動的系統文件中)
L2中gre.sh設置裝備擺設內容如下:
insmod /lib/modules/2.6.32-71.el6.x86_64/kernel/net/ipv4/ip_gre.ko(開機加載內核模塊)
ip tunnel add tunnel0 mode gre remote192.168.77.137 local 192.168.31.9 ttl 245
ip link set tunnel0 up mtu 1400
ip addr add 172.16.1.2/30? dev tunnel0
ip addr del 172.16.1.2/30 peer 172.16.1.1/30 dev tunnel0
ip addr add 172.16.1.2/30 peer 172.16.1.1/30 dev tunnel0
ip route add 20.0.1.1/32dev tunnel0
chmod +x /etc/init.d/gre.sh
echo "/etc/init.d/gre.sh">> /etc/rc.d/rc.local(將該文件加載到開機啟動的系統文件中)
四、驗證隧道配置:
L1系統下 ip addr show 成果如下(L2中類似):
L2上面的Ifconfig查看:
本文永遠更新鏈接地址:
歡迎參與《LINUX教學:CentOS下GRE隧道配置》討論,分享您的想法,維易PHP學院為您提供專業教程。