《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学院为您提供专业教程。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|