前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VyOS利用WireGuard配置hub和spoke VPN测试

VyOS利用WireGuard配置hub和spoke VPN测试

作者头像
纯情
发布2023-04-27 10:54:55
9850
发布2023-04-27 10:54:55
举报
文章被收录于专栏:纯情博客纯情博客

备注:

1.如果hub配置两个wireguard接口并用不同的监听端口,分别与两个spoke连接,这时可以跑ospf,spoke之间可以通过hub中转进行互联。 2.如果用下面的只配置一个wireguard接口,使用多个证书的情况,测试的时候,hub只能与一个spoke建立osp邻居,即使像DMVPN第三阶段,修改OSPF优先级,或者更改网络类型hub也不能同时与两个spoke建立邻居. 3..因此动态路由使用了BGP,并且hub发布汇总路由。

二.配置步骤

1.基本配置

A.PC1路由器 interface Ethernet0/0

代码语言:javascript
复制
ip address 172.16.100.1 255.255.255.0
no shutdown

ip route 0.0.0.0 0.0.0.0 172.16.100.254 B.Spoke1 set system host-name 'Spoke1' set interfaces ethernet eth1 address '202.100.1.1/24' set interfaces ethernet eth2 address '172.16.100.254/24' set protocols static route 0.0.0.0/0 next-hop '202.100.1.10' set nat source rule 20 outbound-interface 'eth1' set nat source rule 20 source address '172.16.100.0/24' set nat source rule 20 translation address 'masquerade' C.Internet路由器 interface Ethernet0/0

代码语言:javascript
复制
ip address 202.100.1.10 255.255.255.0

interface Ethernet0/1

代码语言:javascript
复制
ip address 61.128.1.10 255.255.255.0

interface Ethernet0/2

代码语言:javascript
复制
ip address 201.100.1.10 255.255.255.0

D.Spoke2 set system host-name 'Spoke2' set interfaces ethernet eth1 address '61.128.1.1/24' set interfaces ethernet eth2 address '172.16.200.254/24' set protocols static route 0.0.0.0/0 next-hop '61.128.1.10' set nat source rule 20 outbound-interface 'eth1' set nat source rule 20 source address '172.16.200.0/24' set nat source rule 20 translation address 'masquerade' E.PC2路由器 interface Ethernet0/0

代码语言:javascript
复制
ip address 172.16.200.1 255.255.255.0
no shutdown

ip route 0.0.0.0 0.0.0.0 172.16.200.254 F:HUB set system host-name 'hub' set interfaces ethernet eth1 address '201.100.1.1/24' set interfaces ethernet eth2 address '172.16.1.254/24' set protocols static route 0.0.0.0/0 next-hop '201.100.1.10' G:PC3 interface Ethernet0/0

代码语言:javascript
复制
ip address 172.16.1.1 255.255.255.0
no shutdown

ip route 0.0.0.0 0.0.0.0 172.16.1.254

2.WireGuard配置

A.创建密钥对 ①hub vyos@hub# run generate wireguard named-keypairs hub vyos@hub# run show wireguard keypairs pubkey hub dzuyoFkjfp1OCthgedPVmeQwumu8cTX4pC+pNsFxDU0= ②Spoke1 vyos@vyos1# run generate wireguard named-keypairs vyos1 vyos@vyos1# run show wireguard keypairs pubkey vyos1 ezDV+um91Cg21EV6a6iVQm0V9Mr0TWvdl3yWpSY3DTk= ③Spoke2 vyos@vyos2# run generate wireguard named-keypairs vyos2 vyos@vyos2# run show wireguard keypairs pubkey vyos2 BdMMAjLcudZBTBitiMmx5JfSb4Z6Ffake/dQJHtdPm0= B.配置wireguard接口 ①hub set interfaces wireguard wg01 address '10.1.1.100/24' set interfaces wireguard wg01 peer to-spoke1 allowed-ips '172.16.100.0/24' set interfaces wireguard wg01 peer to-spoke1 allowed-ips '10.1.1.1/32' set interfaces wireguard wg01 peer to-spoke1 pubkey 'ezDV+um91Cg21EV6a6iVQm0V9Mr0TWvdl3yWpSY3DTk=' set interfaces wireguard wg01 peer to-spoke2 allowed-ips '172.16.200.0/24' set interfaces wireguard wg01 peer to-spoke2 allowed-ips '10.1.1.2/32' set interfaces wireguard wg01 peer to-spoke2 pubkey 'BdMMAjLcudZBTBitiMmx5JfSb4Z6Ffake/dQJHtdPm0=' set interfaces wireguard wg01 port '12345' set interfaces wireguard wg01 private-key 'hub' 备注:跑BGP路由才需要allowed-ips放行10.1.1.1和10.1.1.2 ②Spok1 set interfaces wireguard wg01 address '10.1.1.1/24' set interfaces wireguard wg01 description 'VPN-to-hub' set interfaces wireguard wg01 peer to-hub allowed-ips '0.0.0.0/0' set interfaces wireguard wg01 peer to-hub endpoint '201.100.1.1:12345' set interfaces wireguard wg01 peer to-hub pubkey 'dzuyoFkjfp1OCthgedPVmeQwumu8cTX4pC+pNsFxDU0=' set interfaces wireguard wg01 port '12345' set interfaces wireguard wg01 private-key 'vyos1' ③Spoke2 set interfaces wireguard wg01 address '10.1.1.2/24' set interfaces wireguard wg01 description 'VPN-to-hub' set interfaces wireguard wg01 peer to-hub allowed-ips '0.0.0.0/0' set interfaces wireguard wg01 peer to-hub endpoint '201.100.1.1:12345' set interfaces wireguard wg01 peer to-hub pubkey 'dzuyoFkjfp1OCthgedPVmeQwumu8cTX4pC+pNsFxDU0=' set interfaces wireguard wg01 port '12345' set interfaces wireguard wg01 private-key 'vyos2' C.配置动态路由或静态路由 ①动态路由 --hub set protocols bgp 65541 address-family ipv4-unicast network 172.16.0.0/16 set protocols bgp 65541 neighbor 10.1.1.1 remote-as '65541' set protocols bgp 65541 neighbor 10.1.1.1 update-source '10.1.1.100' set protocols bgp 65541 neighbor 10.1.1.2 remote-as '65541' set protocols bgp 65541 neighbor 10.1.1.2 update-source '10.1.1.100' --Spke1 set protocols bgp 65541 address-family ipv4-unicast network 172.16.100.0/24 set protocols bgp 65541 neighbor 10.1.1.100 remote-as '65541' set protocols bgp 65541 neighbor 10.1.1.100 update-source '10.1.1.1' set protocols static interface-route 10.1.1.0/24 next-hop-interface wg01 备注:hub因为配置了allowed-ips,不用配置上面的静态路由。 --Spke2 set protocols bgp 65541 address-family ipv4-unicast network 172.16.200.0/24 set protocols bgp 65541 neighbor 10.1.1.100 remote-as '65541' set protocols bgp 65541 neighbor 10.1.1.100 update-source '10.1.1.2' set protocols static interface-route 10.1.1.0/24 next-hop-interface wg01 备注:hub因为配置了allowed-ips,不用配置上面的静态路由。 ②或者静态路由 --hub set protocols static interface-route 172.16.100.0/24 next-hop-interface wg01 set protocols static interface-route 172.16.200.0/24 next-hop-interface wg01 --Spke1和Spoke2 set protocols static interface-route 172.16.0.0/24 next-hop-interface wg01

三.验证

1.ping对端网络正常

PC1#ping 172.16.200.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.200.1, timeout is 2 seconds: !!!!!

2.如果跑动态路由协议bgp,hub上可以看到邻居正常,也能学习到路由

vyos@hub# run show ip bgp summary

IPv4 Unicast Summary: BGP router identifier 201.100.1.1, local AS number 65541 vrf-id 0 BGP table version 7 RIB entries 3, using 552 bytes of memory Peers 2, using 41 KiB of memory

Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.1.1 4 65541 54 47 0 0 0 00:09:59 1 10.1.1.2 4 65541 30 32 0 0 0 00:26:08 1

Total number of neighbors 2 [edit] vyos@hub# run show ip route bgp Codes: K - kernel route, C - connected, S - static, R - RIP,

代码语言:javascript
复制
   O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
   T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
   F - PBR, f - OpenFabric,
   > - selected route, * - FIB route, q - queued route, r - rejected route

B>* 172.16.100.0/24 [200/0] via 10.1.1.1, wg01, 00:10:29 B>* 172.16.200.0/24 [200/0] via 10.1.1.2, wg01, 00:26:39 [edit]

3.如果跑动态路由协议bgp,spoke上可以看到邻居正常,也能学习到路由

vyos@Spoke1# run show ip bgp summary

IPv4 Unicast Summary: BGP router identifier 202.100.1.1, local AS number 65541 vrf-id 0 BGP table version 6 RIB entries 2, using 368 bytes of memory Peers 1, using 20 KiB of memory

Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.1.100 4 65541 90 64 0 0 0 00:11:21 1

Total number of neighbors 1 [edit] vyos@Spoke1# run show ip route bgp Codes: K - kernel route, C - connected, S - static, R - RIP,

代码语言:javascript
复制
   O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
   T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
   F - PBR, f - OpenFabric,
   > - selected route, * - FIB route, q - queued route, r - rejected route

B>* 172.16.0.0/16 [200/0] via 10.1.1.100, wg01, 00:11:32 [edit] vyos@Spoke1#

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二.配置步骤
    • 1.基本配置
      • 2.WireGuard配置
      • 三.验证
        • 1.ping对端网络正常
          • 2.如果跑动态路由协议bgp,hub上可以看到邻居正常,也能学习到路由
            • 3.如果跑动态路由协议bgp,spoke上可以看到邻居正常,也能学习到路由
            相关产品与服务
            腾讯云服务器利旧
            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档