首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何得到一个选项列表,可以推送给客户?

问如何得到一个选项列表,可以推送给客户?
EN

Server Fault用户
提问于 2016-05-20 14:10:31
回答 1查看 519关注 0票数 0

OpenVPN手册目前只指出:

这是目前可以推送的部分选项列表:路由、路由网关、路由延迟、重定向网关、ip-tun 32、-dhcp-选项、-不活动、-ping、-ping-退出、-ping-重新启动、-setenv、-持久化-键、持久化-tun、-echo、-comp-lzo、-套接字-标志、-sndbuf、-rcvbuf。

但是,我如何获得一个完整的列表,我可以向客户推介?

EN

回答 1

Server Fault用户

发布于 2016-05-20 14:10:31

一般的方法是查看代码。

方法pull_permission_mask of init.c包含一个有效标志列表(在当前的2.3版本中引用):

代码语言:javascript
复制
unsigned int flags =
      OPT_P_UP
    | OPT_P_ROUTE_EXTRAS
    | OPT_P_SOCKBUF
    | OPT_P_SOCKFLAGS
    | OPT_P_SETENV
    | OPT_P_SHAPER
    | OPT_P_TIMER
    | OPT_P_COMP
    | OPT_P_PERSIST
    | OPT_P_MESSAGES
    | OPT_P_EXPLICIT_NOTIFY
    | OPT_P_ECHO
    | OPT_P_PULL_MODE
    | OPT_P_PEER_ID;

如果没有在客户端设置--route-nopull,则当前还将另外接受下列标志:

代码语言:javascript
复制
flags |= (OPT_P_ROUTE | OPT_P_IPWIN32);

现在,我们必须将此与来自options.c的选项相匹配。理论上,在其VERIFY_PERMISSION中有一个标志的每个选项都可以推送到客户端。当然,和康普-伊佐一样可能会出现问题。

作为一个示例,请参阅选项c中的以下代码段:

代码语言:javascript
复制
else if (streq (p[0], "topology") && p[1])
    {
      VERIFY_PERMISSION (OPT_P_UP);
      options->topology = parse_topology (p[1], msglevel);
    }

由于OPT_P_UP在上面的标志列表中,“拓扑”可能会被推送到客户端。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/778023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档