×

openwrt-22.03_ocserv

hqy hqy 发表于2022-12-10 15:09:03 浏览403 评论0

抢沙发发表评论

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://www.kinber.cn/post/3261.html 转载需授权!

    分享到:


    推荐本站淘宝优惠价购买喜欢的宝贝:

    image.png

     您阅读本篇文章共花了: 

    群贤毕至

    访客