求助,关于 OpenWrt 的使用

202 天前
 codermali

我家里用的小米 AX3600 ,刷了 官方 OpenWrt 24.10.0 (最新),安装了 OpenVPN 和 OpenClash 。

家里的设备访问 google 、youtube 、docker hub 没有障碍。

公司有一台测试服务器,是使用 docker 进行部署。

现在国内已经无法直接访问 docker hub 了。所以我想着在服务器上装一个 OpenVPN ,挂回家里的局域网,用于升级 Docker 镜像。

这是背景介绍。

家里 OpenWrt DHCP 网段是 192.168.88.0/24 ,OpenVPN 分配的网段是 192.168.8.0/24 。

现在,服务器上已经安装了 OpenVPN 客服端,可以挂回家里的局域网。但是,依然无法访问 docker hub 。

traceroute 追踪,走到 192.168.8.1 之后,就全是 * 了。好像根本就没走 OpenClash 。

安装 OpenVPN ,是根据 官方文档: https://openwrt.org/docs/guide-user/services/vpn/openvpn/server

有没有大佬能指导下,首先是我这个思路是否能实现?如果可以,那么我是哪里做错了,应该怎么改?

2577 次点击
所在节点    OpenWrt
27 条回复
wangritian
202 天前
不考虑国内镜像而选择从家里上传?
ilanting
202 天前
看下防火墙策略.
cxtrinityy
202 天前
捋一下,你是想通过 openvpn 来建立服务器和 openwrt 的连接,以使用 openwrt 上的梯子?
那首先你的梯子要监听 openvpn 网段或者直接 0.0.0.0 的端口
然后在服务器的 dockerd 启动进程里加上 HTTP_PROXY 和 HTTPS_PROXY 的环境变量,这样 docker pull 的时候才会走代理
这种问题可以直接问 deepseek 的
codermali
202 天前
@wangritian 并非是放弃国内镜像,之前使用 aliyun 的镜像,但是 aliyun 镜像 latest 标签的镜像错乱啊
wuruxu
202 天前
这个思路是可行的,我采用的 IPsec + wireguard , 只是跟你的技术方案不一样
datocp
202 天前
openvpn 我是没能力让它过墙,1 星期以后电信线路必挂
常用 socks5 代理,用 stunnel 过墙轻轻松。
weiweiwitch
202 天前
这种情况,最好公司内架个代理入口。
现在需要用到代理的情况多了去了,不单单是 docker 拉镜像。
什么系统更新,拉取依赖,软件更新,项目维护的出口分流等等,几乎都要用到代理。
AS4694lAS4808
202 天前
@codermali 感觉好像上面老哥说的镜像不是镜像站,而是镜像代理服务吧?有的速度还是挺快的
flynaj
202 天前
vpn 你用 softether,不需要划分另外的网段。
yanxin1111
201 天前
humbass
201 天前
搞复杂了,联网,爬墙是两个需求,分开做就行了。
davidyin
201 天前
公私分开,若贵司有规定的话。
ochatokori
201 天前
如果你用的是 tun 模式,防火墙需要设置 openvpn 域允许转发到 clash 域
codermali
201 天前
@ilanting root@OpenWrt:~# cat /etc/config/firewall

config defaults
option syn_flood '1'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'

config zone 'lan'
option name 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
list network 'lan'
list device 'tun+'

config zone 'wan'
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
list network 'wan'

config forwarding
option src 'lan'
option dest 'wan'

config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'

config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'

config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'

config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'

config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'

config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'

config rule 'ovpn'
option name 'Allow-OpenVPN'
option src 'wan'
option dest_port '1194'
option proto 'udp'
option target 'ACCEPT'

config include 'openclash'
option type 'script'
option path '/var/etc/openclash.include'

root@OpenWrt:~#
codermali
201 天前
@cxtrinityy 感谢提供了一条思路
codermali
201 天前
@wuruxu 感谢。
@datocp 我也是电信宽带,目前来说没啥问题。
@weiweiwitch 没有这么多哦,目前来说只有这个需求。
@AS4694lAS4808 请问有推荐的吗,我查了一下,发现太多了。
@flynaj 感谢。不过 softether 这个我不太熟悉,如果能在现有的框架下解决肯定最好啦~
@yanxin1111 太感谢啦,我试试
codermali
201 天前
@humbass 其实在出现问题后,我想过,在服务器上用 docker 部署一个 clash ,然后有需要的服务走代理到 clash 容器。不过还没有尝试,不知是否可行。
@davidyin 小公司,没有那么严格。用 docker 也是我的强烈要求,所以碰到问题也得解决。
@ochatokori 确实是 tun 模式。而且我在公司用的 windows 电脑,挂 VPN 回家里网络是没问题的,可以翻墙。但是 centos 就不行,我有想到 应该是 windows 和 centos 需要配置的地方不一样,但是,我查询不到相关的资料。你能具体说说吗
codermali
201 天前
@ilanting 你好,我把防火墙的配置贴上了,你可以帮我看看吗
ochatokori
201 天前
@codermali #17 如果你的 windows 可以成功代理的话,那大概就不是 openwrt 设置的问题了,那就和我 13 楼说的没关系,openwrt 你应该已经设置了默认所有接口都允许转发。

centos 不行大概是没有代理所有流量,用 route -n 把路由表打印出来看看,贴的时候注意可能会有你的公网 ip
codermali
201 天前
@ochatokori 如下。公司的 IP 段是 192.168.2.0/24 。这个是启动了 OpenVPN 以后的路由表

[root@txfw ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.8.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.2.1 0.0.0.0 UG 100 0 0 p7p1
公网 ip 192.168.2.1 255.255.255.255 UGH 0 0 0 p7p1
128.0.0.0 192.168.8.1 128.0.0.0 UG 0 0 0 tun0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-0e1231a1c01b
192.168.2.0 0.0.0.0 255.255.255.0 U 100 0 0 p7p1
192.168.8.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
192.168.88.0 192.168.8.1 255.255.255.0 UG 0 0 0 tun0
[root@txfw ~]#

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1111593

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX