linux gre配置,Linux中配置GRE隧道
配置拓扑
这里使用ens33接口地址来建立隧道,使用ens37接口地址做隧道接口标识,使用ens38接口地址来模拟私网业务地址。实际场景中,用于建立隧道的地址是公网地址,而业务地址是私网地址,GRE隧道使得私网地址空间不会暴露于公网。
具体配置
1. node02
开启路由转发,加载GRE协议模块。
# 开启ipv4路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# 查看GRE内核模块信息
modinfo ip_gre
# 查看GRE内核模块是否安装
lsmod | grep ip_gre
# 加载GRE内核模块
modprobe ip_gre
modprobe --first-time ip_gre
创建隧道虚接口tunnel2并配置隧道接口ip(隧道标识)。
# 配置GRE隧道的source和destination ip(外部,公网地址)
ip tunnel add tunnel2 mode gre local 192.168.91.129 remote 192.168.91.130 ttl 255 dev ens33
# 配置GRE tunnel接口的隧道标识(在数通设备上可以通过ip unnumber借用其他接口的primary ip)
ip addr add 172.16.18.10 dev tunnel2 peer 172.16.20.20/24
# 开启tunnel2接口
ip link set dev tunnel2 up
# 查看tunnel接口
ifconfig
ip a
添加指向隧道接口的路由以引导流量进入隧道。
# 添加私网路由指向隧道口
ip route add 10.10.20.20/32 dev tunnel2
ip route add 172.16.20.20/32 dev tunnel2
2. node03
开启路由转发,加载GRE协议模块。
# 开启ipv4路由转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# 加载GRE内核模块
modprobe --first-time ip_gre
创建隧道虚接口tunnel2并配置隧道接口ip(隧道标识)。
# 配置GRE隧道的source和destination ip(外部,公网地址)
ip tunnel add tunnel2 mode gre local 192.168.91.130 remote 192.168.91.129 ttl 255 dev ens33
# 配置GRE tunnel接口的隧道标识(在数通设备上可以通过ip unnumber借用其他接口的primary ip)
ip addr add 172.16.20.20 dev tunnel2 peer 172.16.18.10/24
# 开启tunnel2接口
ip link set dev tunnel2 up
添加指向隧道接口的路由以引导流量进入隧道。
# 添加私网路由指向隧道口
ip route add 10.10.10.10/32 dev tunnel2
ip route add 172.16.18.10/32 dev tunnel2
3. 查看路由表
route -n # 推荐此法
或者
netstat -nr
4. 验证
隧道建立
[root@node02 ~]# ping -c3 -I 10.10.10.10 10.10.20.20
PING 10.10.20.20 (10.10.20.20) from 10.10.10.10 : 56(84) bytes of data.
64 bytes from 10.10.20.20: icmp_seq=1 ttl=64 time=0.708 ms
64 bytes from 10.10.20.20: icmp_seq=2 ttl=64 time=0.523 ms
64 bytes from 10.10.20.20: icmp_seq=3 ttl=64 time=0.555 ms
--- 10.10.20.20 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.523/0.595/0.708/0.083 ms
[root@node02 ~]# ping -c3 -I 172.16.18.10 172.16.20.20
PING 172.16.20.20 (172.16.20.20) from 172.16.18.10 : 56(84) bytes of data.
64 bytes from 172.16.20.20: icmp_seq=1 ttl=64 time=1.12 ms
64 bytes from 172.16.20.20: icmp_seq=2 ttl=64 time=0.509 ms
64 bytes from 172.16.20.20: icmp_seq=3 ttl=64 time=0.469 ms
--- 172.16.20.20 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2006ms
rtt min/avg/max/mdev = 0.469/0.700/1.122/0.298 ms
隧道拆除
将tunnel2接口shutdown
ip link set dev tunnel2 down
再进行ping测试
[root@node02 ~]# ping -c3 -I 10.10.10.10 10.10.20.20
PING 10.10.20.20 (10.10.20.20) from 10.10.10.10 : 56(84) bytes of data.
--- 10.10.20.20 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2017ms
[root@node02 ~]# ping -c3 -I 172.16.18.10 172.16.20.20
PING 172.16.20.20 (172.16.20.20) from 172.16.18.10 : 56(84) bytes of data.
--- 172.16.20.20 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2023ms
5. 配置多个环回地址
在上述的配置中可以发现启用了多个物理网卡来提供本地IP,但在实际应用中可能不具备这样的条件。配置多个环回口地址是一个解决思路。
操作步骤如下:
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:1
vim ifcfg-lo:1
----------------------------------------------------
DEVICE=lo:1
IPADDR=10.199.18.16
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback1
----------------------------------------------------
systemctl restart network
ifconfig
----------------------------------------------------
lo:1: flags=73 mtu 65536
inet 10.199.18.16 netmask 255.255.255.255
loop txqueuelen 1000 (Local Loopback)
----------------------------------------------------
ip a
----------------------------------------------------
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 10.199.18.16/32 brd 10.199.18.16 scope global lo:1
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
----------------------------------------------------
[root@node01 network-scripts]# ping -c3 10.199.18.16
PING 10.199.18.16 (10.199.18.16) 56(84) bytes of data.
64 bytes from 10.199.18.16: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 10.199.18.16: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from 10.199.18.16: icmp_seq=3 ttl=64 time=0.053 ms
如果是非持久化的添加(重启后失效),可以使用如下命令:
ip addr add 10.199.18.16/32 dev lo:1
使用上述命令添加的环回接口地址只能使用“ ip a ”命令才可以查看到,使用“ ifconfig ”命令是看不到的。但是在系统中可以ping通。
linux gre配置,Linux中配置GRE隧道相关推荐
- visual studio编译linux,在 Visual Studio 中配置 Linux MSBuild C++ 项目
在 Visual Studio 中配置 Linux MSBuild C++ 项目Configure a Linux MSBuild C++ project in Visual Studio 10/16 ...
- yii配置mysql_YII2中配置MySQL读写分离
在实际开发中,为了服务更好的响应,通常会设置数据库的读写分离,主库负责写入更新等操作,从库负责读操作. 以下是yii2中配置mysql读写分离,一主多从设置.设置好后,这些从库其中之一将被建立起连接并 ...
- php怎么配置环境变量,php环境变量配置_windows中配置PHP环境变量
摘要 腾兴网为您分享:windows中配置PHP环境变量,中国天气,之了课堂,真还赚,永辉生活等软件知识,以及城市地摊财富秘籍,捆绑工具,golo技师盒子,作家登录,情侣绿钻,keepass,小一寸照 ...
- Linux学习笔记007---Centos7中配置静态ip
JAVA技术交流QQ群:170933152 按步骤来是没问题的: 这里注意vim,有的系统没有装,所以需要用vi来配置 如果linux操作系统通过dhcp无法自动获取IP地址,需要手动设置静态IP地址 ...
- centos 配置php开发环境变量配置,CentOS中配置PHP和Nginx环境变量
搜索热词 一.摘要 在Linux CentOS系统上 安装完PHP和Nginx后,一般需要执行查看版本命令'PHP -v'和'Nginx -v',确认是否安装成功,如果在没有添加到环境变量之前,执行& ...
- java怎么配置tomcat_Eclipse中配置Tomcat
1.下载Tomcat网址:http://tomcat.apache.org/ 2.在右边Download导航栏中挑选自己要的版本 3.选择下载exe版本的(当然也可以下载zip的)我win10 64位 ...
- Mybatisplus配置类中配置分页、乐观锁
@Configuration//配置类 @MapperScan("com.xxx.mapper")//扫描路径 @EnableTransactionManagement//事务处理 ...
- eclipse链接mysql数据池配置_Eclipse中配置Tomcat的数据库连接池 | 学步园
前提是把需要的msutil.jar mssqlserver.jar msbase.jar mssqlserver4v65.jar 放到tomcat/common/lib下 1.把数据库JDBC驱动拷贝 ...
- kettle-3(linux环境调度kjb并配置定时读取)
1.首先要把kettle搬到Linux系统下,rar包解压需要操作下,直接提供.tar.gz : https://pan.baidu.com/s/1_tzcy8GCKJ7qHzjTSqNnxQ ...
- SpringSecurity权限管理框架系列(七)-SpringSecurity自定义配置类中自定义Filter的使用详解
1.Filter请求过滤器 filter请求过滤器可以帮助我们进行HttpServletRequest请求和HttpServletResponse响应的过滤 在自定义的Filter过滤器中我们可以对我 ...
最新文章
- linux 脚本 符号,Shell脚本 入门 —— 符号篇
- Add Digits
- 将中缀表达式转化为后缀表达式
- 三极管的发射极与集电极之间的关系
- 探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
- Javascript中typeof instanceof constructor的区别
- hive操作create,alter等
- cmd中如何切换指定目录
- Element-UI分页组件使用——点第几页查第几页
- centos 6.9 NTP基准时间服务器配置
- git使用教程(初次配置+错误提示)
- python numpy数组动态写入csv文件_python - 将NumPy数组转储到csv fi中
- 图像锐化拉普拉斯算子matlab,Matlab图像锐化-Sobel,Laplacian算子 实验教程
- java只有值传递_为什么说java只有值传递?
- AI人才供不应求:应届生年薪可达50万 没出校门已被抢光
- 豆瓣9.3的高分! 牛逼的Git !!!
- Fiddler2教程(Web调试工具)
- 找一下不男不女 ?。。?
- 关于华为鸿蒙创新的作文,关于创新的高中作文4篇
- matplotlib如何绘制网格线