51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【Vyos-开源篇-6】- Vyos+GoBGP+SmartDNS 实现智能分流

文章介绍:本篇主要内容如下:

①云上Vultr安装Vyos作为服务器端;

②本地VMware ESXi安装Vyos作为客户端;

③云上Vultr中的Vyos运行GoBGP给本地VMware ESXi中的Vyos下发路由,实现路由分流;

④本地VMware ESXi中的Vyos运行SmartDNS,实现DNS分流,规避DNS污染。

一、上传镜像至Vultr {#一-上传镜像至Vultr}

vultr注册登录这里不做介绍,vultr支持支付宝付款,对国内用户比较友好,但是据说口碑很差,服务器IP大多被封禁,本篇只作为演示,没有引导消费的意思,博主也不经常使用vultr,如果长期使用请谨慎选择。

yydy_2024-05-03_21-04-16

https://github.com/hcuk94/vyos-autobuild/releases/download/1.4.0-epa2/vyos-1.4.0-epa2-amd64.iso

yydy_2024-05-03_21-05-08

yydy_2024-05-03_21-08-32

yydy_2024-05-03_21-08-56

二、创建实例 {#二-创建实例}

2.1、点击:Products {#2-1-点击-Products}

yydy_2024-05-03_22-21-48

2.2、Deploy New Instance {#2-2-Deploy-New-Instance}

yydy_2024-05-03_22-25-16

2.3、关闭备份 {#2-3-关闭备份}

yydy_2024-05-03_22-28-56

2.4、取消自定义数据 {#2-4-取消自定义数据}

yydy_2024-05-03_22-31-21

2.5、启动完成:Running {#2-5-启动完成-Running}

yydy_2024-05-03_22-33-18

2.6、查看服务器 {#2-6-查看服务器}

yydy_2024-05-03_22-33-51

2.7、配置vyos {#2-7-配置vyos}

yydy_2024-05-03_22-36-37

2.8、进入vyos {#2-8-进入vyos}

yydy_2024-05-03_22-38-14

2.9、安装vyos {#2-9-安装vyos}

install image

yydy_2024-05-03_22-49-25

2.10、移除ISO {#2-10-移除ISO}

yydy_2024-05-03_22-52-09

yydy_2024-05-03_22-52-33

2.11、连接vyos {#2-11-连接vyos}

yydy_2024-05-03_22-53-20

2.12、进入vyos {#2-12-进入vyos}

yydy_2024-05-03_22-54-15

2.13、查看接口IP {#2-13-查看接口IP}

show int

yydy_2024-05-03_22-55-05

2.14、配置接口 {#2-14-配置接口}

yydy_2024-05-03_22-56-49

2.15、配置SSH登录 {#2-15-配置SSH登录}

yydy_2024-05-03_22-58-33

2.16、退出系统 {#2-16-退出系统}

yydy_2024-05-03_22-59-10

三、vyos-pe基础配置 {#三-vyos-pe基础配置}

3.1、登录Vyos {#3-1-登录Vyos}

yydy_2024-05-03_23-12-09

yydy_2024-05-03_23-12-45

3.2、修改账户密码 {#3-2-修改账户密码}

configure #进入配置模式
set system login user yydy authentication plaintext-password yydy@vyos #新建账号:yydy,密码:yydy@vyos
commit #应用配置
save #保存配置

3.3、修改hostname {#3-3-修改hostname}

set system host-name vyos-pe
commit
save

3.4、禁用默认账户vyos {#3-4-禁用默认账户vyos}

先退出vyos账户登录,然后使用刚刚创建的yydy账户登录,才能禁用默认账户。

configure 
set system login user vyos disable #禁用vyos账户登录
commit
save

3.5、vyos-pe安全加固 {#3-5-vyos-pe安全加固}

Vyos官方配置 Firewall 直达

这些配置是针对防火墙全局选项的设置,每个选项的作用如下:

  1. set firewall global-options all-ping 'disable': 允许 ICMP echo-request(ping)到所有地址。

  2. set firewall global-options broadcast-ping 'disable': 禁用 ICMP echo-request 到广播地址的回应。

  3. set firewall global-options ip-src-route 'disable': 禁用 IP 源路由选项。

  4. set firewall global-options ipv6-source-validation 'disable': 禁用 IPv6 源地址验证。

  5. set firewall global-options ipv6-src-route 'disable': 禁用 IPv6 源路由选项。

  6. set firewall global-options log-martians 'enable': 启用记录未知源 IP 或无效 TTL 的数据包。

  7. set firewall global-options receive-redirects 'disable': 禁用接收 ICMP 重定向消息。

  8. set firewall global-options send-redirects 'enable': 启用发送 ICMP 重定向消息。

  9. set firewall global-options source-validation 'disable': 禁用源地址验证。

  10. set firewall global-options syn-cookies 'enable': 启用 SYN cookies 以防止 SYN 洪泛攻击。

  11. set firewall global-options twa-hazards-protection 'disable': 禁用 TWA(TCP Window Adjustment) 危险保护。

  12. set firewall group network-group firewall-whitelist network '10.255.255.2/32': 创建一个网络组,允许只有 10.255.255.2/32 这个 IP 地址的流量通过。

  13. set firewall ipv4 input filter default-action 'accept': 默认情况下,允许所有 IPv4 输入流量通过。

  14. set firewall ipv4 input filter rule 100 action 'accept': 允许特定规则的 IPv4 输入流量通过。

  15. set firewall ipv4 input filter rule 100 source group network-group 'firewall-whitelist': 允许网络组 firewall-whitelist 中定义的地址通过。

  16. set firewall ipv4 input filter rule 200 action 'drop': 将未匹配到其他规则的 IPv4 输入流量丢弃。

  17. set firewall ipv4 input filter rule 200 destination port '22,179,53': 针对特定端口的流量进行处理。

  18. set firewall ipv4 input filter rule 200 protocol 'tcp_udp': 仅针对 TCP 和 UDP 流量进行处理。

  19. set firewall ipv4 input filter rule 300 action 'drop'': 将未匹配到其他规则的 IPv4 输入流量丢弃。

  20. set firewall ipv4 input filter rule 300 protocol 'icmp'': 仅针协议是 ICMP 流量进行处理。

    set firewall global-options all-ping 'enable' set firewall global-options broadcast-ping 'disable' set firewall global-options ip-src-route 'disable' set firewall global-options ipv6-source-validation 'disable' set firewall global-options ipv6-src-route 'disable' set firewall global-options log-martians 'enable' set firewall global-options receive-redirects 'disable' set firewall global-options send-redirects 'enable' set firewall global-options source-validation 'disable' set firewall global-options syn-cookies 'enable' set firewall global-options twa-hazards-protection 'disable' set firewall group network-group firewall-whitelist network '10.255.255.2/32' set firewall ipv4 input filter default-action 'accept' set firewall ipv4 input filter rule 100 action 'accept' set firewall ipv4 input filter rule 100 source group network-group 'firewall-whitelist' set firewall ipv4 input filter rule 200 action 'drop' set firewall ipv4 input filter rule 200 destination port '22,179,53' set firewall ipv4 input filter rule 200 protocol 'tcp_udp' set firewall ipv4 input filter rule 300 action 'drop' set firewall ipv4 input filter rule 300 protocol 'icmp' commit save

四、VMware ESXi 安装 Vyos {#四-VMware-ESXi-安装-Vyos}

4.1、安装 {#4-1-安装}

参考:【Vyos-开源篇-1】- VMware安装vyos虚拟机

4.2、配置vyos {#4-2-配置vyos}

客户端CE的其他配置请参考上面的教程,下面修改主机名方便稍后区分配置。

configure 
set system host-name vyos-ce #修改主机名
commit
save

五、配置虚拟隧道WireGuard {#五-配置虚拟隧道WireGuard}

Vyos官方配置 WireGuard Site to Site VPN 直达

5.1、生成密钥对 {#5-1-生成密钥对}

generate pki wireguard key-pair

5.1.1、vyos-pe {#5-1-1-vyos-pe}

把生成的Private key和Public key复制到记事本,稍后要用。

yydy@vyos-pe:~$ generate pki wireguard key-pair
Private key: MEUnSrblAhPuXiFBe+JAtPqFQN+PU7s3mq5pYq/3dnQ=
Public key: vPVCN+MqUz5ljTYMY99NvOHQeQlYZoeAPQ9cj+taVSo=
`yydy@vyos-pe:~$
`

5.1.2、vyos-ce {#5-1-2-vyos-ce}

同理,把生成的Private key和Public key复制到记事本,稍后要用。

vyos@vyos-ce:~$ generate pki wireguard key-pair
Private key: EH37HTk2+YD1/YYvwmKhswzuZ4za2VjjM8GjhDw423Q=
Public key: 5RP73V1r+HDYorMyDnbvLXd9Uw0mIdrL2z6J53hRiAA=
`vyos@vyos-ce:~$
`

5.2、创建wg0接口 {#5-2-创建wg0接口}

5.2.1、vyos-pe {#5-2-1-vyos-pe}

配置 WireGuard VPN 接口的详细命令含义如下:

  1. set interfaces wireguard wg0 address '10.255.255.1/30': 这条命令设置了WireGuard接口的本地IP地址和子网掩码。

  2. set interfaces wireguard wg0 description 'to-vyos-ce': 这条命令为WireGuard接口设置了描述,用于标识接口的用途或描述信息。

  3. set interfaces wireguard wg0 peer vyos-ce allowed-ips '0.0.0.0/0': 这条命令设置了允许流量从远程对等点进入的IP地址范围。在这种情况下,允许所有IP地址。

  4. set interfaces wireguard wg0 peer vyos-ce public-key '5RP73V1r+HDYorMyDnbvLXd9Uw0mIdrL2z6J53hRiAA=': 这条命令设置了远程对等点的公钥,用于加密通信。

  5. set interfaces wireguard wg0 port '64430': 这条命令设置了本地WireGuard接口的端口号。

  6. set interfaces wireguard wg0 private-key 'MEUnSrblAhPuXiFBe+JAtPqFQN+PU7s3mq5pYq/3dnQ=': 这条命令设置了本地WireGuard接口的私钥,用于加密通信。

    set interfaces wireguard wg0 address '10.255.255.1/30' set interfaces wireguard wg0 description 'to-vyos-ce' set interfaces wireguard wg0 peer vyos-ce allowed-ips '0.0.0.0/0' set interfaces wireguard wg0 peer vyos-ce public-key '5RP73V1r+HDYorMyDnbvLXd9Uw0mIdrL2z6J53hRiAA=' set interfaces wireguard wg0 port '64430' set interfaces wireguard wg0 private-key 'MEUnSrblAhPuXiFBe+JAtPqFQN+PU7s3mq5pYq/3dnQ=' commit save

5.2.2、vyos-ce {#5-2-2-vyos-ce}

set interfaces wireguard wg0 address '10.255.255.2/30'
set interfaces wireguard wg0 description 'to-vyos-pe'
set interfaces wireguard wg0 peer vyos-pe address '45.76.198.130'
set interfaces wireguard wg0 peer vyos-pe allowed-ips '0.0.0.0/0'
set interfaces wireguard wg0 peer vyos-pe port '64430'
set interfaces wireguard wg0 peer vyos-pe public-key 'vPVCN+MqUz5ljTYMY99NvOHQeQlYZoeAPQ9cj+taVSo='
set interfaces wireguard wg0 private-key 'EH37HTk2+YD1/YYvwmKhswzuZ4za2VjjM8GjhDw423Q='
commit
save

5.3、连通信测试 {#5-3-连通信测试}

因为我们服务器端开了禁ping,所以客户端ce ping不通pe,那我们就用pe ping ce,ping 1000个包,1024个字节,1毫秒1回显,网络质量良好,平均延迟:84ms

sudo ping -i 0.01 -c 1000 -s 1024 10.255.255.2

yydy_2024-05-04_01-08-06

5.4、mtu测试不分片 {#5-4-mtu测试不分片}

显示1420可以过,直接在俩端配置wg0接口mtu为1420

sudo ping -M do -s 1400 10.255.255.2

yydy_2024-05-04_01-12-15

5.4.1、配置mtu {#5-4-1-配置mtu}

set interfaces wireguard wg0 mtu '1420'
commit
save

5.5、配置tcp mss {#5-5-配置tcp-mss}

在俩端同时配置下面的配置

set interfaces wireguard wg0 ip adjust-mss '1300'
commit
save

六、配置完善 {#六-配置完善}

6.1、vyos-ce {#6-1-vyos-ce}

6.1.1、全局默认路由 {#6-1-1-全局默认路由}

最终效果是要PC客户端通过vyos-pe上网,所以如果是全局模式,那么vyos-ce的默认路由需要指向vyos-pe的wg0接口ip10.255.255.1 ,并且,为了保证隧道建立正常,需要指定去pe的公网IP走本地网关,默认路由配置distance 230,为什么是230不是什么2,3,4之类的,请继续往下看。

set protocols static route 45.76.198.130/32 next-hop 10.225.97.1
set protocols static route 0.0.0.0/0 next-hop 10.255.255.1 distance '230'
commit
save

拓展完善默认路由配置缺陷,为了防止wg0隧道断线,影响用户国内上网,所以需要删除上面的默认路由,改成下面的配置方式,wg0默认路由优先级是metric 230,当vyos-ce去ping vyos-pe的wg0接口IP不通时,自动把默认路由切到本地eth0网关。

Vyos官方配置 Failover 直达

下面这些命令配置使用故障转移(failover)策略,用于在主要路由不可用时切换到备用路由,以下是每条命令的详细解释:

  1. set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 check target '10.255.255.1'

    • 配置了默认路由 0.0.0.0/0 的下一跳地址为 10.255.255.1
    • 使用 ICMP 目标检查功能,以确保下一跳地址 10.255.255.1 的连通性。
  2. set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 check timeout '5'

    • 设置 ICMP 目标检查的超时时间为 5 秒。
  3. set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 check type 'icmp'

    • 指定 ICMP 类型的目标检查,用于检查下一跳地址 10.255.255.1 的连通性。
  4. set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 interface 'wg0'

    • 指定下一跳地址 10.255.255.1 的接口为 wg0,表示该路由通过接口 wg0 发送。
  5. set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 metric '230'

    • 配置默认路由 0.0.0.0/0 到达目标的优先级(metric)为 230,优先级较低,表示备选路由。
  6. set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 check target '10.225.97.1'

    • 配置了另一条默认路由 0.0.0.0/0 的下一跳地址为 10.225.97.1
    • 使用 ICMP 目标检查功能,以确保下一跳地址 10.225.97.1 的连通性。
  7. set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 check timeout '5'

    • 设置 ICMP 目标检查的超时时间为 5 秒。
  8. set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 check type 'icmp'

    • 指定 ICMP 类型的目标检查,用于检查下一跳地址 10.225.97.1 的连通性。
  9. set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 interface 'eth0'

    • 指定下一跳地址 10.225.97.1 的接口为 eth0,表示该路由通过接口 eth0 发送。
  10. set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 metric '240'

    • 配置默认路由 0.0.0.0/0 到达目标的优先级(metric)为 240,优先级较高,表示首选路由。

这些命令的目的是为默认路由 0.0.0.0/0 配置两个备选路由,并设置检查目标和超时时间以确保备选路由的连通性。通过配置不同的优先级(metric),可以定义主要路由和备用路由的优先级。

set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 check target '10.255.255.1'
set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 check timeout '5'
set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 check type 'icmp'
set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 interface 'wg0'
set protocols failover route 0.0.0.0/0 next-hop 10.255.255.1 metric '230'
set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 check target '10.225.97.1'
set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 check timeout '5'
set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 check type 'icmp'
set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 interface 'eth0'
set protocols failover route 0.0.0.0/0 next-hop 10.225.97.1 metric '240'

6.1.2、SNAT配置 {#6-1-2-SNAT配置}

从wg0接口出去的流量,全部nat成出接口地址,这里则是:10.255.255.2。

set nat source rule 100 outbound-interface name 'wg0'
set nat source rule 100 translation address 'masquerade'
commit
save

6.1.3、DNS配置 {#6-1-3-DNS配置}

需要vyos-ce能正常解析域名,便于后面下载smartdns程序,但是等后面下载完smartdns程序安装包之后,还需要删除dns配置,否则53端口被vyos占用,将导致smartdns启动失败。

set system name-server 223.5.5.5
set system name-server 223.6.6.6
commit
save

6.2、vyos-pe {#6-2-vyos-pe}

6.2.1、SNAT配置 {#6-2-1-SNAT配置}

需要把wg0接口进来的流量,全部nat成vyos-pe的eth0出接口地址上网。

set nat source rule 100 outbound-interface name 'eth0'
set nat source rule 100 translation address 'masquerade'
commit
save

6.2.2、DNS配置 {#6-2-2-DNS配置}

需要vyos-pe能正常解析域名,便于后面下载gobgp程序。

set system name-server 8.8.8.8
set system name-server 8.8.4.4
commit
save

七、全局模式测试 {#七-全局模式测试}

7.1、PC测试 {#7-1-PC测试}

把电脑网关改成vyos-ce的eth0口ip,dns改成8.8.8.8,因为还未配置smartdns,所以为了防止dns污染,先用谷歌dns解析域名测试。。

ip.skk.moe
www.yalala.com
whoer.net

yydy_2024-05-04_01-29-57

yydy_2024-05-04_01-31-35

yydy_2024-05-04_01-31-53

7.2、路径和解析 {#7-2-路径和解析}

到这里如果不需要智能分流就可以结束了。

tracert -d -w 1 8.8.8.8
nslookup www.youtube.com

yydy_2024-05-04_01-32-45

八、路由分流配置 {#八-路由分流配置}

gobgp具体搭建运行需要看gobgp的官方github说明,这里是用gobgp+geoip实现通过AS号归属地+区域缩写(CN,HK,US)获取动态的ip路由表。 yangpin97/BGPServer

8.1、下载GoBGP程序 {#8-1-下载GoBGP程序}

以下操作都是在Vultr云上的vyos-pe中执行。

sudo -i
mkdir bgp
cd bgp
wget https://github.com/yangpin97/BGPServer/releases/download/0.5/bgp
wget https://github.com/yangpin97/BGPServer/releases/download/0.5/ChinaBGPZip.gob
wget https://github.com/yangpin97/BGPServer/releases/download/0.5/config.ini
wget https://github.com/yangpin97/BGPServer/releases/download/0.5/map.json.gz

8.2、赋予权限 {#8-2-赋予权限}

sudo chmod +x bgp

8.3、修改config.ini {#8-3-修改config-ini}

sudo nano config.ini

[server]
RouterId = 10.255.255.1
ASN = 65000
NextHop = 10.225.97.1
UpdateSource = 10.255.255.1
`[peer]
IP = 10.255.255.2
ASN = 65000
`

  1. [server] 部分说明:

    • RouterId = 10.255.255.1:指定本地路由器的 BGP 路由器ID。路由器ID 用于标识路由器的唯一性,是 BGP 运行所必需的。
    • ASN = 65000:指定本地路由器的自治系统号(ASN)。ASN 是用于识别网络中的唯一自治系统的数字标识符。
    • NextHop = 10.225.97.1:指定在生成更新消息时使用的下一跳地址。在 BGP 中,Next Hop 属性指定了到达目的网络的下一跳路由器的 IP 地址,因为我们下面学习的是国内BGP路由信息,所以这里写vyos-ce的eth0接口网关。
    • UpdateSource = 10.255.255.1:指定用于向对等方发送 BGP 更新消息的源 IP 地址。这个参数用于多点连接的情况,确保更新消息从正确的接口发送出去。
  2. [peer] 部分说明:

    • IP = 10.255.255.2:指定对等方的 IP 地址。这个对等方是本地路由器将要建立 BGP 邻居关系的对等方。
    • ASN = 65000:指定对等方的自治系统号(ASN)。这个对等方的 ASN 应该与对等方配置的 ASN 相匹配,以确保 BGP 邻居关系的正确建立。

8.4、运行程序 {#8-4-运行程序}

以下命令是学习国内路由表,如果要学习非国内路由表,请修改相应配置。

sudo screen -S bgp_session -d -m ./bgp -c ./config.ini -l CN

8.5、vyos-ce配置bgp邻居 {#8-5-vyos-ce配置bgp邻居}

set protocols bgp parameters router-id 10.255.255.2
set protocols bgp neighbor 10.255.255.1 remote-as 65000
set protocols bgp neighbor 10.255.255.1 update-source 10.255.255.2
set protocols bgp neighbor 10.255.255.1 address-family ipv4-unicast soft-reconfiguration inbound
set protocols bgp system-as 65000
set protocols bgp timers holdtime '60'
set protocols bgp timers keepalive '20'
commit
save

8.6、查看邻居建立状态 {#8-6-查看邻居建立状态}

8.6.1、vyos-pe {#8-6-1-vyos-pe}

sudo screen -r

yydy_2024-05-04_23-02-26

8.6..2、vyos-ce {#8-6--2-vyos-ce}

show bgp summary

yydy_2024-05-04_23-02-52

8.7、路由查询 {#8-7-路由查询}

查询国内阿里云DNS 223.5.5.5,学习ebgp路由走eth0网关到国内。
这里可以看出通过ebgp学习的路由distance是200,所以上面的默认路由需要设置distance为230,根据路由匹配原则,优先匹配distance小的。

show ip route 223.5.5.5

yydy_2024-05-04_23-07-12

查询国外谷歌DNS 8.8.8.8,默认路由走wg0隧道。

show ip route 8.8.8.8

yydy_2024-05-04_23-13-15

8.8、路由分流测试 {#8-8-路由分流测试}

跟第七步操作步骤一样,需要修改电脑网关。

8.8.1、tracert阿里云dns {#8-8-1-tracert阿里云dns}

tracert -d -w 1 223.5.5.5

yydy_2024-05-04_23-30-11

8.8.2、tracert谷歌dns {#8-8-2-tracert谷歌dns}

tracert -d -w 1 8.8.8.8

yydy_2024-05-04_23-28-14

九、SmartDNS配置 {#九-SmartDNS配置}

以下配置是在vyos-ce中执行。

9.1、下载smartdns {#9-1-下载smartdns}

如果国内网络连接github下载异常,请使用博主提供的下载连接,博主提供的是当前时间2024年5月4日最新版本,如果超过这个时间很久,版本可能有所更新。

sudo -i
curl -k -O https://github.com/pymumu/smartdns/releases/download/Release45/smartdns.1.2024.02.08-0828.x86_64-debian-all.deb
curl -k -O  https://alist.yydy.link:2023/d/🧩Share---共享文件/smartdns/smartdns.1.2024.02.08-0828.x86_64-debian-all.deb

9.2、安装smartdns {#9-2-安装smartdns}

dpkg -i smartdns.1.2024.02.08-0828.x86_64-debian-all.deb

9.3、删除vyos的dns {#9-3-删除vyos的dns}

9.3.1、退出root {#9-3-1-退出root}

exit

9.3.2、进入配置模式 {#9-3-2-进入配置模式}

conf
delete system name-server
commit
save

9.3.3、进入root {#9-3-3-进入root}

exit
sudo -i

9.4、修改配置文件 {#9-4-修改配置文件}

nano /etc/smartdns/smartdns.conf

# 开启ipv6-ipv4-dns服务
bind [::]:53 #默认开启

国内上游服务器(上海电信DNS)
================



server 202.96.209.133
server 202.96.209.5
server 180.168.255.118
server 116.228.111.118


国外上游服务器
=======



server 8.8.8.8
server 8.8.4.4
server 208.67.222.222
server 208.67.220.220


缓存配置
====



cache-size 32768
cache-persist yes
prefetch-domain yes
cache-file /etc/smartdns/dnscache


测速模式
====



speed-check-mode ping,tcp:80,tcp:443


其他
===


`force-qtype-SOA 65 #默认开启
log-level info #默认开启
`

9.5、启动smartdns {#9-5-启动smartdns}

sudo systemctl start smartdns
sudo systemctl enable smartdns

9.6、dns分流测试 {#9-6-dns分流测试}

跟第七步操作步骤一样,需要修改电脑网关,其次dns不能在使用8.8.8.8,要使用vyos-ce的eth0口IP地址。

yydy_2024-05-05_00-25-06

十、带宽测试 {#十-带宽测试}

10.1、iperf打流 {#10-1-iperf打流}

家里带宽是100兆下行,60兆上行,基本可以跑满。

10.1.1、ce打流pe模拟上传 {#10-1-1-ce打流pe模拟上传}

yydy_2024-05-05_00-53-56

10.1.2、pe打流ce模拟下载 {#10-1-2-pe打流ce模拟下载}

yydy_2024-05-05_00-55-29

10.2、speedtest测速 {#10-2-speedtest测速}

yydy_2024-05-05_01-03-52

其他 {#其他}

为了方便gobgp程序可以开机自启,我们可以添加为系统服务,添加为系统服务前,需要先使用:sudo screen -r进入刚刚运行的服务,然后Ctrl+C结束会话,然后在进行下面的操作。

创建gobgp服务。

sudo nano /etc/systemd/system/bgp.service

填写下面的配置文件。

[Unit]
Description=BGP Service
After=network.target

\[Service\]
Type=simple
ExecStart=/root/bgp/bgp -c /root/bgp/config.ini -l CN
Restart=always

`[Install]
WantedBy=multi-user.target
`

重新加载 Systemd 并启用服务。

sudo systemctl daemon-reload
sudo systemctl enable bgp.service

启动服务。

sudo systemctl start bgp.service

查看服务状态。

sudo systemctl status bgp.service

停止服务。

sudo systemctl stop bgp.service

查看服务日志。

sudo journalctl -u bgp.service

yydy_2024-05-05_01-24-52

赞(1)
未经允许不得转载:工具盒子 » 【Vyos-开源篇-6】- Vyos+GoBGP+SmartDNS 实现智能分流