[转]两台linux建立GRE隧道

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处
、作者信息和本声明。否则将追究法律责任。http://333234.blog.51cto.com/323234/931805

1.拓扑图:

备注:因为应用原因,需要在linux2上添加一个公网地址,并且在中间路由设备不受控制的情况下,Linux1能访问到linux2上面的公网地址。

2.基本接口配置:

linux1:192.168.10.1/24

linux2:192.168.20.2/24

R1:

interface FastEthernet0/0
ip address 192.168.10.10 255.255.255.0
no
shutdown
!
interface FastEthernet0/1
ip address 192.168.20.10
255.255.255.0
no shutdown

3.路由配置:

linux1网关:192.168.10.10
linux2网关:192.168.20.10
R1:只有直连路由

4.Linux2单网卡多地址配置:

[[email protected] ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0:0
[[email protected] ~]# vi
/etc/sysconfig/network-scripts/ifcfg-eth0:0
# Advanced Micro Devices [AMD]
79c970 [PCnet32
LANCE]
DEVICE=eth0:0
BOOTPROTO=none
ONBOOT=yes
HWADDR=00:0c:29:08:48:63
NETMASK=255.255.255.252
IPADDR=202.100.2.2
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
[[email protected]
~]# service network restart
[[email protected] ~]# ping 202.100.2.2
PING
202.100.2.2 (202.100.2.2) 56(84) bytes of data.
64 bytes from 202.100.2.2:
icmp_seq=1 ttl=64 time=0.124 ms
--- 202.100.2.2 ping statistics ---
1
packets transmitted, 1 received, 0% packet loss, time 0ms
rtt
min/avg/max/mdev = 0.124/0.124/0.124/0.000 ms
[[email protected] ~]# ping
192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64
bytes from 192.168.10.10: icmp_seq=1 ttl=255 time=70.6 ms
--- 192.168.10.10
ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time
0ms
rtt min/avg/max/mdev = 70.629/70.629/70.629/0.000 ms

5.GRE tunnel配置:

A.确定是否加载了GRE模块
[[email protected] ~]# lsmod |grep ip_gre
[[email protected]
~]# lsmod |grep ip_gre
B.加载GRE模块

[[email protected] ~]# uname -an
Linux linux1 2.6.9-78.EL #1 Wed Jul 9
15:27:01 EDT 2008 i686 i686 i386 GNU/Linux
[[email protected] ~]# insmod
/lib/modules/2.6.9-78.EL/kernel/net/ipv4/ip_gre.ko
[[email protected] ~]#
uname -an
Linux linux2 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686
i686 i386 GNU/Linux
[[email protected] ~]# insmod
/lib/modules/2.6.18-164.el5/kernel/net/ipv4/ip_gre.ko

C.GRE tunnel接口配置

Linux1:
ip tunnel add tunnel0 mode gre remote 192.168.20.2 local
192.168.10.1 ttl 255
ip link set tunnel0 up mtu 1400
ip addr add
172.16.1.1/30  dev tunnel0
ip addr add 172.16.1.1/30 peer 172.16.1.2/30
dev tunnel0
ip route add 202.100.2.2/32 dev tunnel0
Linux2:
ip
tunnel add tunnel0 mode gre remote 192.168.10.1 local 192.168.20.2 ttl 255
ip
link set tunnel0 up mtu 1400
ip addr add 172.16.1.2/30  dev
tunnel0
ip addr add 172.16.1.2/30 peer 172.16.1.1/30 dev
tunnel0
D.将tunnel配置开机运行:

linux1:
vi /etc/init.d/gre.sh   ##内容如下:
insmod
/lib/modules/2.6.9-78.EL/kernel/net/ipv4/ip_gre.ko
ip tunnel add tunnel0 mode
gre remote 192.168.20.2 local 192.168.10.1 ttl 255
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 202.100.2.2/32 dev tunnel0
chmod +x
/etc/init.d/gre.sh
echo "/etc/init.d/gre.sh" >>
/etc/rc.d/rc.local
linux2:
vi /etc/init.d/gre.sh  
##内容如下:
insmod /lib/modules/2.6.18-164.el5/kernel/net/ipv4/ip_gre.ko
ip
tunnel add tunnel0 mode gre remote 192.168.10.1 local 192.168.20.2 ttl 255
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
chmod +x /etc/init.d/gre.sh

echo "/etc/init.d/gre.sh" >> /etc/rc.d/rc.local
D.验证GRE接口

[[email protected] ~]# ip addr show
1: lo: <LOOPBACK,UP> mtu 16436
qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd
00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255
scope host lo
    inet6 ::1/128 scope
host
       valid_lft forever preferred_lft
forever
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
qlen 1000
    link/ether 00:0c:29:e4:65:78 brd
ff:ff:ff:ff:ff:ff
    inet 192.168.10.1/24 brd 192.168.10.255
scope global eth0
    inet6 fe80::20c:29ff:fee4:6578/64 scope
link
       valid_lft forever preferred_lft
forever
3: sit0: <NOARP> mtu 1480 qdisc noop
   
link/sit 0.0.0.0 brd 0.0.0.0
4: gre0: <NOARP> mtu 1476 qdisc
noop
    link/gre 0.0.0.0 brd 0.0.0.0
5: [email protected]:
<POINTOPOINT,NOARP,UP> mtu 1400 qdisc noqueue
   
link/gre 192.168.10.1 peer 192.168.20.2
    inet 172.16.1.1
peer 172.16.1.2/30 scope global tunnel0
[[email protected] ~]# ip addr
show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc
noqueue
    link/loopback 00:00:00:00:00:00 brd
00:00:00:00:00:00
    inet 127.0.0.1/8 scope host
lo
    inet6 ::1/128 scope
host
       valid_lft forever preferred_lft
forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc
pfifo_fast qlen 1000
    link/ether 00:0c:29:08:48:63 brd
ff:ff:ff:ff:ff:ff
    inet 192.168.20.2/24 brd 192.168.20.255
scope global eth0
    inet 202.100.2.2/30 brd 202.100.2.3
scope global eth0:0
    inet6 fe80::20c:29ff:fe08:4863/64
scope link
       valid_lft forever
preferred_lft forever
3: sit0: <NOARP> mtu 1480 qdisc
noop
    link/sit 0.0.0.0 brd 0.0.0.0
4: gre0:
<NOARP> mtu 1476 qdisc noop
    link/gre 0.0.0.0 brd
0.0.0.0
5: [email protected]: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc
noqueue
    link/gre 192.168.20.2 peer
192.168.10.1
    inet 172.16.1.2 peer 172.16.1.1/30 scope
global tunnel0

5.效果测试:

[[email protected] ~]#  ping 202.100.2.2
PING 202.100.2.2 (202.100.2.2)
56(84) bytes of data.
64 bytes from 202.100.2.2: icmp_seq=0 ttl=64 time=82.4
ms
64 bytes from 202.100.2.2: icmp_seq=1 ttl=64 time=48.7 ms
---
202.100.2.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet
loss, time 1002ms
rtt min/avg/max/mdev = 48.784/65.633/82.482/16.849 ms, pipe
2

本文出自 “httpyuntianjxxll.spac..
博客,请务必保留此出处http://333234.blog.51cto.com/323234/931805

[转]两台linux建立GRE隧道,布布扣,bubuko.com

时间: 2024-12-19 02:54:29

[转]两台linux建立GRE隧道的相关文章

建立两台linux信任关系(scp时不用输入验证信息)

在大规模部署时,需要建立多个ssh连接,但是linux默认需要输入验证信息,如此一来本来是一件简单的事却变的非常繁琐耗时.现在就来介绍怎样自动ssh一台linux(不需要输入验证信息). 首先我拿两台linux服务器模拟,地址分别是192.168.22.128.192.168.22.133,我想把192.168.22.128上的东西用scp远程拷贝到192.168.22.133上,步骤如下: 在没做任何操作之前,用scp远程传东西,会有提示需要输入验证信息,如下图: 在192.168.22.12

linux搭建GRE隧道

GRE介绍 GRE隧道是一种IP-over-IP的隧道,是通用路由封装协议,可以对某些网路层协议的数据报进行封装,使这些被封装的数据报能够在IPv4/IPv6 网络中传输.Tunnel 是一个虚拟的点对点的连接,提供了一条通路使封装的数据报文能够在这个通路上传输,并且在一个Tunnel 的两端分别对数据报进行封装及解封装. 一个X协议的报文要想穿越IP网络在Tunnel中传输,必须要经过加封装与解封装两个过程. 相关配置 1.加载ip_gre模块,开通转发 要在Linux上创建GRE隧道,需要i

两台linux完美实现双机热备【来源网络尚未实践】

[来源:http://rainbird.blog.51cto.com/211214/225541/] 一直想做基于linux的双机热备,一直没有时间和机会.一直以为只要做双机热备的实验就必须两台机器外接一个存储.甚至一个月以前在学习keepalived的时候还在琢磨keepalvied去掉哪些条件可以实现双机热备.直到一个月以前设计存储方案的时候部门老大给了一个国外的链接介绍drbd+nfs实现nfs的热备方案的时候,我的眼前一亮,这不就是我一直想做的不依靠存储实现热备的解决方案吗? 先来纠正一

两台Linux系统之间传输文件的几种方法

scp传输 当两台LINUX主机之间要互传文件时可使用SCP命令来实现 scp传输速度较慢,但使用ssh通道保证了传输的安全性 复制文件 将本地文件拷贝到远程 scp 文件名 –用户名@计算机IP或者计算机名称:远程路径 从远程将文件拷回本地 scp –用户名@计算机IP或者计算机名称:文件名 本地路径 命令格式 scp local_file [email protected]_ip:remote_folder 或者 scp local_file [email protected]_ip:rem

两台linux互相复制文件

http://jingyan.baidu.com/article/597a06434bf71e312a52436e.html 开发者们经常会在自己的电脑和服务器之间传输文件,今天小编说说怎么在两台linux系统下互相拷贝文件. 工具/原料 两台装了linux系统的电脑,可在局域网中,也可在广域网中. 方法/步骤 1 linux文件传输主要有一下几种方法: 1.ftp2.samba服务3.sftp4.scp 由于前面3种需要进行配置,在这里小编就不说了,有兴趣的童鞋可以自己查一下相关资料,小编今天

建立GRE隧道

实  验  建立GRE隧道 实验步骤: 首先配置R1,R2,R3,R4,R5 ip地址 R1是要配置默认路由 R2配置默认路由 配置R4默认路由 配置R5默认路由     然后在R2上创建虚拟接口(interface tunnel 1),并且配置虚拟ip地址 tunnel source10.0.0.1(还要指一个原地址,也就是真实的地址) tunnel destination20.0.0.1(还要见一个目标地址,也就是对端的地址) 在指个向导过去 R4配置跟R2是一样的 然后R1就能ping 通

两台Linux机之间传送文件

最近实验室里接管了一台服务器,经常需要用到服务器与自己主机之间进行文件传输,因此,在此介绍一下两台Linux主机之间的一些操作,方便后来者. 1. Linux.Windows主机远程访问Linux服务器: 在服务器上安装vnc server,在客户端机安装vnc viewer,然后参照一些教程做就可以了. 2. 两台Linux主机进行文件上传与文件下载. 为了方便描述,我们称服务器为Linux1,我的主机为Linux2. 2.1 下面我们介绍如何从Linux1 拷贝文件回来到本地PC Linux

ssh 设置私钥实现两台linux主机无密码访问

在服务器主机上(称为A主机) 创建公钥与私钥: ssh-keygen -t rsa 一路回车,如果想设置密码短语,在提示 passphrase 的时候设置密码短语 查看生成的公钥及私钥: ls ~/.ssh id_rsa.pub id_rsa 公钥内容输出到相应文件中: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 删除原来的公钥文件: rm -f ~/.ssh/id_rsa.pub 设置文件属性设置为400: chmod 400 ~/.ssh

两台Linux主机之间文件的复制

使用scp命令可以实现两台Linux主机之间的文件复制,基本格式是: scp [可选参数] file_source file_target 1. 复制文件 命令格式: scp local_file [email protected]_ip:remote_folderscp local_file [email protected]_ip:remote_filescp local_file remote_ip:remote_folderscp local_file remote_ip:remote_