使用tinc+quagga搭建个人SD-WAN网络
nanshan 2024-11-20 19:27 12 浏览 0 评论
点击上方"walkingcloud"关注,并选择"星标"公众号
使用tinc+quagga搭建个人SD-WAN网络
拓扑如下
(图片可点击放大查看)
一、tinc安装与配置
1、CentOS7云主机安装tinc
(图片可点击放大查看)
(图片可点击放大查看)
yum install tinc
(图片可点击放大查看)
mkdir -p /etc/tinc/tincnet/
mkdir /etc/tinc/tincnet/hosts
cd /etc/tinc/tincnet/
ll
vi tinc.conf
Name = Server_Node
Interface = tinctun
AddressFamily = ipv4
Mode = switch
ConnectTo = Slave_Node
Compression=9
Cipher = aes-256-cbc
Digest = sha256
PrivateKeyFile=/etc/tinc/tincnet/rsa_key.priv
(图片可点击放大查看)
vi tinc-up
#!/bin/sh
ip link set $INTERFACE up
ip addr add 10.254.254.2/24 dev $INTERFACE
ip route add 10.254.254.0/24 dev $INTERFACE
vi tinc-down
#!/bin/sh
ip route del 10.254.254.0/24 dev $INTERFACE
ip addr del 10.254.254.2/24 dev $INTERFACE
ip link set $INTERFACE down
chmod 755 tinc*
(图片可点击放大查看)
cd /etc/tinc/tincnet/hosts
vi Server_Node
Address = 129.211.209.82
Subnet = 10.254.254.2/32
Port = 655
(图片可点击放大查看)
通过tincd生成非对称密钥
#通过tincd生成非对称密钥
tincd -n tincnet -K 4096
(图片可点击放大查看)
2、分支节点安装配置tinc
配置与上面类似,不再赘述,截图如下
(图片可点击放大查看)
(图片可点击放大查看)
(图片可点击放大查看)
(图片可点击放大查看)
3、保证两个节点的hosts文件夹都有全部节点的hosts信息
scp /etc/tinc/tincnet/hosts/Slave_Node root@129.211.209.82:/etc/tinc/tincnet/hosts/
scp root@129.211.209.82:/etc/tinc/tincnet/hosts/Server_Node /etc/tinc/tincnet/hosts
(图片可点击放大查看)
4、配置etc/sysctl.conf文件
net.ipv4.ip_forward = 1
(图片可点击放大查看)
5、防火墙放通655端口
(图片可点击放大查看)
(图片可点击放大查看)
6、启动tinc服务
systemctl start tinc@tincnet
systemctl status tinc@tincnet
(图片可点击放大查看)
(图片可点击放大查看)
二、手工静态路由方式实现互访
添加路由前截图
(图片可点击放大查看)
例如分支节点上添加静态路由
route add -net 10.106.0.0/20 dev tinctun
(图片可点击放大查看)
三、安装quagga配置ospf实现互通
1、两节点均安装并配置quagga
yum install quagga
cd /etc/quagga/
cp /usr/share/doc/quagga-0.99.22.4/zebra.conf.sample ./
cp /usr/share/doc/quagga-0.99.22.4/ospfd.conf.sample ./
cp zebra.conf.sample zebra.conf
cp ospfd.conf.sample ospfd.conf
chmod 777 *.conf
chmod 777 /var/log/ospfd/
systemctl enable zebra
systemctl enable ospfd
systemctl start zebra
systemctl start ospfd
(图片可点击放大查看)
(图片可点击放大查看)
2、vtysh进行配置ospf
(图片可点击放大查看)
主节点配置步骤如下
VM-0-17-centos# conf t
VM-0-17-centos(config)# interface eth0
VM-0-17-centos(config-if)# description Server_eth0
VM-0-17-centos(config-if)# no shut
VM-0-17-centos(config-if)# exit
VM-0-17-centos(config)# interface tinctun
VM-0-17-centos(config-if)# description Server_tinctun
VM-0-17-centos(config-if)# no shut
VM-0-17-centos(config-if)# exit
VM-0-17-centos(config)# router ospf
VM-0-17-centos(config-router)# router-id 1.1.1.1
VM-0-17-centos(config-router)# network 10.254.254.0/24 area 0
VM-0-17-centos(config-router)# network 10.206.0.17/20 area 0
VM-0-17-centos(config-router)# exit
VM-0-17-centos(config)# log file /var/log/quagga/ospfd.log
VM-0-17-centos(config)# exit
VM-0-17-centos# wr
Building Configuration...
Configuration saved to /etc/quagga/zebra.conf
Configuration saved to /etc/quagga/ospfd.conf
[OK]
(图片可点击放大查看)
分支节点配置步骤如下 vtysh
Hello, this is Quagga (version 0.99.22.4).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
centos.walkingcloud.cn# conf t
centos.walkingcloud.cn(config)# interface ens33
centos.walkingcloud.cn(config-if)# description Slave_ens33
centos.walkingcloud.cn(config-if)# no shut
centos.walkingcloud.cn(config-if)# exit
centos.walkingcloud.cn(config)# interface tinctun
centos.walkingcloud.cn(config-if)# description Slave_tinctun
centos.walkingcloud.cn(config-if)# no shut
centos.walkingcloud.cn(config-if)# exit
centos.walkingcloud.cn(config)#
centos.walkingcloud.cn(config)# exit
centos.walkingcloud.cn# conf t
centos.walkingcloud.cn(config)# router ospf
centos.walkingcloud.cn(config-router)# router-id 2.2.2.2
centos.walkingcloud.cn(config-router)# network 192.168.31.0/24 area 0
centos.walkingcloud.cn(config-router)# network 10.254.254.0/24 area 0
centos.walkingcloud.cn(config-router)# network 192.168.1.1/24 area 0
centos.walkingcloud.cn(config-router)# exit
centos.walkingcloud.cn(config)# log file /var/log/quagga/ospfd.log
centos.walkingcloud.cn(config)# exit
centos.walkingcloud.cn# wr
Building Configuration...
Configuration saved to /etc/quagga/zebra.conf
[OK]
centos.walkingcloud.cn# exit
(图片可点击放大查看)
3、防火墙放通ospf协议
firewall-cmd --permanent --zone=public --add-protocol=ospf
firewall-cmd --reload
并重启ospf和zebra服务
systemctl restart zebra
systemctl restart ospfd
(图片可点击放大查看)
4、ospf状态检查
可以用vtysh中 show ip ospf neighbor检查邻居是否建立
show ip route查看对方是否学习到对方的ospf路由
show ip ospf neighbor
show ip route
(图片可点击放大查看)
(图片可点击放大查看)
5、最后进行连通性测试
(图片可点击放大查看)
(图片可点击放大查看)
四、总结
- 1、本文只是测试使用quagga并使用ospf协议,实际中为了简单起见,可以直接使用静态路由即可
- 2、当然个人家庭网络中不会把Linux服务器作为出口路由使用,可以openwrt路由器安装tinc来实现
- 上一篇:Linux学习笔记(八)网络管理
- 下一篇:Centos7下的snmp搭建及实例
相关推荐
- 详细了解ICMP协议(icmp协议的工作原理)
-
最近跟大家分享了一些网络故障排查的命令,今天给大家分享一下,这些命令背后的协议(ICMP)以及原理,只有了解了原理,我们才能更好的用好这些命令什么是ICMP协议Internet控制报文协议ICMP(I...
- Firewalld防火墙与ICMP攻击(防火墙policy)
-
提到ICMP大家应该都很熟悉,可能有人会说:不就是ping吗?但是说到ICMP攻击以及相关防御措施可能就有的人不是非常清楚了。ICMP的概念要想理解ICMP攻击以及防范我们还得从ICMP的概念说起,...
- 不可错过!5张图带你搞懂容器网络原理
-
使用容器总是感觉像使用魔法一样。对于那些理解底层原理的人来说容器很好用,但是对于不理解的人来说就是个噩梦。很幸运的是,我们已经研究容器技术很久了,甚至成功揭秘容器只是隔离并受限的Linux进程,运...
- Iptables防火墙详细介绍(iptables防火墙的原理)
-
一:Linux防火墙基础:Linux防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙(也称网络层防火墙);Linux防火墙体系基于内核编码实现,具有非常稳定的...
- 盘点几个实现VLAN间路由的好方法!
-
在真实的网络中,常常需要跨VLAN通信。许多网络工作者通常选择一些方法来实现不同VLAN中的主机之间的相互访问,如单臂路由。然而,由于单臂路由技术的一些限制,如带宽和转发效率,这种技术是很少使用。三层...
- iptables使用详解(iptables入门)
-
前言最近买了一个VPS,并在上面搭了DOCKER,然后再DOCKER中安装Mysql。但只要将网络端口映射到宿主机上,那么外部网络就可以直接访问该数据。属实吓人。为此,我们需要使用防火墙。说到防火墙,...
- 网络安全-Kali系统hping3及netwox的使用
-
Kali-linux系统自身集成Scapy、hping3、netwox等工具,用于渗透测试及网络攻击ScapyScapy是一个Python程序,Scapy是一个功能强大的交互式数据包操作程序,能够发送...
- 网络工具中的瑞士军刀:Ping和Tracert
-
引言:Ping命令是一种存在于Windows、Unix和Linux系统下的一种命令。往往常用于测试分析判断网络问题所在,ping命令使用ICMP协议,该协议是TCP/IP协议簇的一个子协议,用于在IP...
- 如何确定一个网站是否支持IPv6?(如何判断一个网站)
-
IPv6是互联网协议(IP)的第六版,是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议。为什么国家大力推进互联网协议第六版(IPv6)规模部署?IPv6是为了解决IPv4存在的地址...
- 西门子Profinet故障诊断入门-4(西门子profinet模块)
-
Ping指令如何使用1.概述在做PROFINETIO通讯调试时经常遇到PROFINETIO通讯不通的情况,诊断时可以利用多种诊断工具和方法,这里介绍一下Ping指令的使用方法,利用"pi...
- Linux 网络设备 - Bridge & Veth Pair
-
我们继续介绍Linux中常见的网络设备,今天主要讲的是LinuxBridge和VethPair,理解清楚这两种设备对后续理解容器化网络会比较有帮助。1.vethpair两端互通我们先...
- Ip地址、子网掩码、网关三者如何协调工作你真的理解了吗?
-
首先我们来看看以下这两个地址是否可以相互通信呢?初步一看,貌似可以通信,但是再细看,发现两者的掩码完全不同,故而肯定不能通信了?然而并非如此,如果对两者的通信有更深刻的认识,相信就会发现他们到底能否相...
- 一文精通虚拟端口通道vPC,精品文章,爱了
-
今天给大家带来的是虚拟端口通道相关的技术:简介传统数据中心使用生成树来防止第2层环路,这已经使用了多年,但确实有局限性,为了防止环路,生成树会阻止一些链路并保持其他链路处于活动状态,如下所示,阻塞...
- 5张图诠释了容器网络(容器中的网络模式及特点)
-
使用容器总是感觉像使用魔法一样。对于那些理解底层原理的人来说容器很好用,但是对于不理解的人来说就是个噩梦。很幸运的是,我们已经研究容器技术很久了,甚至成功揭秘容器只是隔离并受限的Linux进程,...
- 抓包结果显示Destination unreachable(port unreachable)怎么排查
-
当Wireshark抓包结果显示Destinationunreachable(Portunreachable)时,表示目标主机的指定端口没有服务监听或无法响应请求。以下是详细的排查步骤和...
你 发表评论:
欢迎- 一周热门
-
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
WindowsServer2022|配置NTP服务器的命令
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
解决Linux终端中“-bash: nano: command not found”问题
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)