openwrt-22.03
防火墙使用的是fw4,即nftables。
安装 OpenConnect Server。
opkg updateopkg install ocserv luci-app-ocserv
服务器证书,安装后就自动生成了。
去web页面配置。
Server Settings -> Gerneal Settings
netmask,建议写数字。比如 "255.255.255.0" 写为 24 。这样不容易出错。
如果想让客户端全局使用这个连接,只设置一个 0/0的缺省路由,netmask 写 0,不要写 "0.0.0.0"
勾上 启用压缩
设置IPv4 ,建议和 lan不一样网段。
设置DNS server的IP。
添加 Routing table
User Settings
添加用户
设置防火墙,允许wan口访问ocserv端口
主用TCP,如果UDP可用,就用。
设置input规则
防火墙-> Traffic Rules
添加
协议: TCP+UDP
Source zone: WAN
Source address: 留空
Source Port: 留空
Destination zone: Device (input)
Destination address: 留空
Destination Port: 4443 (按需,多个端口空格隔开)
Action: accept
Restrict to address family: IPv4 only 或者 IPv4 and IPv6
设置防火墙,允许openConnect客户端访问lan/wan
设置forward规则
防火墙-> Traffic Rules
添加
协议: Any
Source zone: Any zone(forward)
Source address: ocserv 的IP段,比如 192.168.100.0/24
Destination zone: WAN
Destination address: 留空
Action: accept
Restrict to address family: IPv4 only
检查 sysctl net.ipv4.ip_forward
应该显示 = 1
重新生成ocserv 的证书
仅用于 Openwrt-22.03
如果删除
rm /etc/ocserv/*.pem
, 然后/etc/init.d/ocserv restart
,
所有证书,会重新生成一遍。不过, 除了有效时间变了,其他内容都没改变。在目录
/etc/ocserv/pki/
有两个文件,修改一下。
比如加一行organization = "xx"
执行以下四行命令。重新生成证书,覆盖原来的。
=># certtool --bits 2048 --generate-privkey --outfile /etc/ocserv/ca-key.pem=># certtool --template /etc/ocserv/pki/ca.tmpl --generate-self-signed --load-privkey /etc/ocserv/ca-key.pem --outfile /etc/ocserv/ca.pem =># certtool --bits 2048 --generate-privkey --outfile /etc/ocserv/server-key.pem=># certtool --template /etc/ocserv/pki/server.tmpl --generate-certificate --load-privkey /etc/ocserv/server-key.pem --load-ca-certificate /etc/ocserv/ca.pem --load-ca-privkey /etc/ocserv/ca-key.pem --outfile /etc/ocserv/server-cert.pem
然后重启服务
/etc/init.d/ocserv restart
尝试用nginx反代到ocserv(失败)
认证部分,用到几个路径 /, /auth, /+CSCOT+/, /CSCOSSLC/,
可以成功反代。直到输入完 账号,密码。然后说证书不对。把nginx的server证书,copy一份给 ocserv共用。
证书就对了,继续之后,握手连接失败。
发现进入了专用协议。没法反向代理了。放弃。
参考
----end----
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/3261.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~