使用openwrt软路由连接思科VPN

使用openwrt软路由连接思科VPN

 

提醒:

在配置前请自行进行安全性评估!!

作者本人的路由器只有本人自己用。

意义:

由于疫情反复,公司采取全员居家办公的防疫措施,对于一些同学来说办公必须使用内网环境,即必须连接公司的VPNVPN最长连接24小时,超时后会自动断开,如果有多个设备需要连接,逐个下载并配置将会是一项重复且折磨的工作,且设备安装VPN后会修改设备的路由规则和DNS配置,影响某些功能的正常使用(如mac的随航功能)。

前提:

你需要一台安装了openwrt的路由器,如果没有请关闭文档或打开淘宝。

 

安装openconnect

方式1:使用命令

 

Bash

opkg update

opkg install luci-proto-openconnect openconnect

方式2:使用luci

《使用openwrt软路由连接思科VPN》

设置VPN

菜单:网络->接口->添加新接口

1. step1:

《使用openwrt软路由连接思科VPN》

2. step2: 只填写红框即可

《使用openwrt软路由连接思科VPN》

 

生成 VPN 服务器证书的 SHA1 哈希值 如果想使用其他vpn地址请替换对应域名

 

Bash

openssl s_client -connect vpn.demo.cn:443 -showcerts 2>/dev/null   </dev/null | awk '/—–BEGIN/,/—–END/ { print $0 }' | openssl x509   -noout -fingerprint -sha1 | sed 's/Fingerprint=//' | sed 's/://g'

 

3. step3: 设置防火墙 分配区域 wan

《使用openwrt软路由连接思科VPN》

 

4. step4: 保存、保存并应用

注意:由于密码里拼接的动态密码会频繁刷新 请注意保存并应用的时机

保存后请等待10秒即可连接成功 如下:

若超过10秒还未获取到地址,请编辑密码重试

《使用openwrt软路由连接思科VPN》

 

5. step5: 修改dns

打开 网络->接口 找到Lan接口编辑,然后根据下图红框内设置:

《使用openwrt软路由连接思科VPN》

 

设置DNS

如果你想实现更灵活的DNS解析可以设置DNS的分域名解析,将小米的内网域名使用小米DNS解析,其他域名使用默认DNS解析

方式1:使用默认的dnsmasq

参考:https://blog.csdn.net/qq_21127151/article/details/121203249

同时将 设置vpn step5中设置的“DHCP选项删除

方式2:使用CoreDNS

默认你的软路由安装了docker并且性能足够。如果不满足请使用方式1

参考:https://coredns.io/manual/toc/

1. 安装

 

Groovy

docker run -d –name coredns \

  –restart=always \

  -v /etc/coredns/:/etc/coredns/ \

  -p 53:53/udp \

  coredns/coredns:1.9.1 -conf   /etc/coredns/Corefile

 

 // 可以顺便装一下docker的管理软件portainer 使用https://你的路由器ip:9443访问

 docker run -d -p 8000:8000 -p   9443:9443 –name=portainer –restart=always -v   /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data   portainer/portainer-ce:latest

2. 配置

 

C++

//编辑配置文件/etc/coredns/Corefile

.:53 {

    forward . 114.114.114.114   8.8.8.8

    log

    errors

}

xiaomi.com:53 {

    forward . 10.237.25.6   10.237.25.7 114.114.114.114 8.8.8.8

    log

    errors

}

mioffice.cn:53 {

    forward . 10.237.25.6   10.237.25.7 114.114.114.114 8.8.8.8

    log

    errors

}

google.com:53 {

    forward . 10.237.25.6   10.237.25.7 114.114.114.114 8.8.8.8

    log

    errors

}

google.com.hk:53 {

    forward . 10.237.25.6   10.237.25.7 114.114.114.114 8.8.8.8

    log

    errors

}

srv:53 {

    forward . 10.237.25.6   10.237.25.7 114.114.114.114 8.8.8.8

    log

    errors

}

 

// 如果你想自定义一些域名实现内网解析的话

test114514.com:53 {

    file   /etc/coredns/db.test114514.com

    log

    errors

}

 

// 编辑文件   /etc/coredns/db.test114514.com

$ORIGIN test114514.com.

@   3600 IN SOA dns.test114514.com.   mail.test114514.com. (

                2017042745 ; serial

                7200       ; refresh (2 hours)

                3600       ; retry (1 hour)

                1209600    ; expire (2 weeks)

                3600       ; minimum (1 hour)

                )

 

 

    3600 IN NS a.iana-servers.net.

    3600 IN NS b.iana-servers.net.

 

www      IN     A      192.168.2.1

test     IN     A      192.168.2.2

test1    IN     A      192.168.2.3

3. 修改dnsmasq

配置完coredns 由于53端口被dnsmasq占用 所以要将dnsmasq的端口改成其他的 比如5353

编辑配置文件/etc/dnsmasq.conf 修改或者添加新配置行:port=5353 重启 service dnsmasq restart

此时coredns容器启动成功。

4. 设置vpn step5中设置的“DHCP选项删除

为什么不直接把dnsmasq禁用掉?因为dnsmasq也承担DHCP功能,禁用后Wi-Fi设备无法获取到IP

 

问题:

Q:配置之后,逛P站会被发现吗?

A:参考附录 1、路由规则

《使用openwrt软路由连接思科VPN》

《使用openwrt软路由连接思科VPN》

 

 

 

点赞

发表评论

邮箱地址不会被公开。 必填项已用*标注