Configuration(配置)
SS5 守护进程通常读取 /etc/opt/SS5.conf 中的配置文件。
配置文件包含以下部分部分:
- variable and flags:变量和标记
- authentication:身份验证
- authorization:授权
- bandwidth:带宽
- proxy:代理
- dump: 转存储
- routing:路由
- balancing: 负载均衡
- miscellaneous:其他
在每个部分中,SS5 守护进程依次读取每一行,直到遇到该部分的匹配行。每部分的顺序和该部分内行的顺序对达到预期的效果至关重要。行中的每个条目都必须匹配。
变量和标记
配置参数
Option name | Description |
---|---|
SS5_DNSORDER | 启用多个dns应答的排序 |
SS5_CONSOLE | (仅线程模式)启用web控制台功能 |
SS5_SRV | 启用服务器管理器命令行工具 |
SS5_SYSLOG_FACILITY | 设置系统日志工具 |
SS5_SYSLOG_LEVEL | 设置系统日志级别 |
SS5_LDAP_BASE | 设置授权的基本方法(请参阅授权部分)。 |
SS5_LDAP_FILTER | 设置授权的过滤方法(参见授权部分) |
SS5_LDAP_TIMEOUT | 设置 ldap 查询过期后的超时值 |
SS5_ICACHESERVER | 为 icache fixup 配置缓存 http 代理服务器 ip 地址 |
SS5_GSS_PRINC | 设置 GSS 服务主体 |
SS5_PAM_AUTH | 启用PAM进行身份验证 |
SS5_AUTHCACHEAGE | (仅线程模式)在身份验证缓存过期后启用并设置值 |
SS5_AUTHOCACHEAGE | (仅线程模式)在授权缓存过期后启用并设置值 |
SS5_STICKYAGE | (仅线程模式)在关联过期后设置粘滞值 |
SS5_STICKY_SESSION | (仅线程模式)启用关联会话 |
SS5_STIMEOUT | 设置会话空闲超时值(默认为1800秒) |
SS5_VERBOSE | 启用详细输出 |
SS5_DEBUG | 启用调试输出 |
SS5_NETBIOS_DOMAIN | 在授权过程中启用 netbios 域与目录存储的映射 |
SS5_PROCESSLIFE | 设置关闭前 ss5 进程可以服务的请求数 |
SS5_RADIUS_AUTH | 启用 RADIUS 身份验证 |
SS5_RADIUS_INTERIM_INT | 设置临时更新包的间隔 |
SS5_RADIUS_INTERIM_TIMEOUT | 设置临时响应超时 |
环境变量
ENV 环境变量名称 | 描述 |
---|---|
SS5_SOCKS_USER | 设置 ss5 进程的有效用户ID |
SS5_SOCKS_PORT | 设置侦听端口 |
SS5_SOCKS_ADDR | 设置侦听地址 |
SS5_CONFIG_FILE | 设置 ss5 配置文件的绝对路径名 |
SS5_PASSWORD_FILE | 设置 ss5 密码文件的绝对路径名 |
SS5_PROPAGATE_KEY | 设置配置副本的键值 |
SS5_ROLE_SLAVE | 将角色设置为从属以接受来自 master 的副本(默认值为 ALONE) |
SS5_LOG_FILE | 设置 ss5 日志文件的绝对路径名 |
SS5_PEERS_FILE | 设置 ss5 ha 文件的绝对路径 |
SS5_LIB_PATH | 设置 ss5 模块的绝对路径 |
身份验证
auth
auth <source host> < source port> <method>
<source host>
定义源主机,或网络和网络掩码,即:
- 192.168.253.1/32
- 192.168.253.0/24
- 0.0.0.0/0 (all addresses)
- 10.253.8.0/22
<source port>
定义源端口或指定一段端口,即:
- 80
- 1024-65535
-
(所有端口)
<method>
支持的方法包括:
-
(none)- n (fake 身份验证)
- u (身份验证)
- s (安全用户密码验证)
- k (带有 Kerberos 的 GSSApi 身份验证)
external_auth_program
external_auth_program <program name>
<program name>
定义路径和程序名,即:
/usr/local/bin/auth.sh
授权
permit
permit/deny <method> <source host> < source port> <destination host> <destination port> <fixup> <group> <bandwitdh> <expdate>
<method>
支持的方法包括:
-
(none)- n (fake 身份验证)
- u (身份验证)
- s (安全用户密码验证)
- k (带有 Kerberos 的 GSSApi 身份验证)
<source host>
定义源主机或网络和网络掩码,即:
- 192.168.253.1/32
- 192.168.253.0/24
- 0.0.0.0/0 (所有地址)
- 10.253.8.0/22
<source port>
定义源端口或属于范围内的端口,例如:
- 80
- 1024-65535
-
(所有端口)
<destination host>
定义目的主机,或网络和子网掩码,例如:
- 192.168.253.1/32
- 192.168.253.0/24
- www.example.org
- 0.0.0.0/0 (所有地址)
- 10.253.8.0/22
<destination port>
定义目的端口,或者一段端口,例如:
- 80
- 1024-65535
-
(all ports)
<fixup>
支持的 fixup 列表:
- http
- https
- smtp
- pop3
- imap4
- icache (set SS5_ICACHESERVER option)
<group>
在 /etc/ss5 目录中定义包含用户名的文件名
<bandwidth>
以字节 x 秒为单位定义一个值
<expdate>
以 DD-MM-YYYY 格式定义过期日期
deny
它的工作方式与 permit 相反
带宽
(仅线程模式)
bandwidth <group file> <maxcons> <bandwidth>
<group>
在配置目录中定义一个文件名,其中包含一个或多个限制带宽或连接数的用户名。
注意:
如果从组文件中添加/删除用户,ss5 需要重新加载。
<maxcons>
定义用户允许的最大连接数。
<bandwidth>
为每个用户定义有效带宽范围(从256字节/秒到2147483647)或 -
(无)。
<session timeout>
为每个用户定义有效的以秒为单位的有效超时,也可以是 -
(无)。
代理
proxy/noproxy <destination host> < destination port> <socks address> <socks port> <socks ver>
proxy
<destination host>
定义目标主机或网络和子网掩码,即:
- 192.168.253.1/32
- 192.168.253.0/24
- 0.0.0.0/0 (所有地址)
- 10.253.8.0/22
<destination port>
定义目的端口,或一段端口,例如:
- 80
- 1024-65535
-
(all ports)
<socks address>
定义 socks 主机,例如:
- 192.168.253.1
<socks port>
定义 socks 端口,例如:
- 80
<socks ver>
定义 socks 版本,例如:
- 5
- 4 (只有连接操作才支持从V5到V4的协议转换)
noproxy
ss5 直接连接
转存储
dump <destination host> < destination port> <mode>
<destination host>
定义目的主机,或网络和子网掩码,例如:
- 192.168.253.1/32
- 192.168.253.0/24
- 0.0.0.0/0 (所有)
- 10.253.8.0/22
<destination port>
定义目的端口,或一段端口,例如:
- 80
- 1024-65535
-
(all ports)
<mode >
定义流量方向,是即:
- 0=rx
- 1=tx
- 2=rx + tx
路由
route <source or destination host> < <bind address> <group> <src/dst>
<source or destination host/network>
定义源或目的主机,或网络和子网掩码,例如:
- 192.168.253.1/32
- 192.168.253.0/24
- 0.0.0.0/0 (所有地址)
- 10.253.8.0/22
<bind address>
定义 socks 主机,例如:
- 192.168.253.1
<group>
在配置目录中定义包含用户名的文件名。
<src/dst>
定义主机/网络是源/目的。
负载均衡
(仅线程模式)
virtual <vid> <host>
<vid>
虚拟组标识符
<host>
定义主机
其他
基于 SS5LDAP_BASE 的 ldap 配置项
配置项 | 描述 |
---|---|
ldap_profile_ip | 定义目录地址 |
ldap_profile_port | 定义目录端口 |
ldap_profile_base | 基于 ldap 查询。SS5 使用 base 和 search 对应用户条目中的组作为属性 |
ldap_profile_filter | 为 ldap 查询定义筛选器 |
ldap_profile_dn | 定义目录管理器或其他有权查询目录的用户 |
ldap_profile_pass | 定义 dn 用户的密码密码 |
ldap_netbios_domain | 目录映射的netbios域名(请参阅 LDAP_NETBIOS_DOMAIN 选项) |
基于 SS5LDAP_FILTER 的 ldap 的配置项
配置项 | 描述 |
---|---|
ldap_profile_ip | 定义目录地址 |
ldap_profile_port | 定义目录端口 |
ldap_profile_base | 基于 ldap 查询。SS5 使用 base 和 search 对应用户条目中的组作为属性 |
ldap_profile_filter | 为 ldap 查询定义筛选器 |
ldap_profile_dn | 定义目录管理器或其他有权查询目录的用户 |
ldap_profile_pass | 定义 dn 用户的密码密码 |
ldap_netbios_domain | 目录映射的netbios域名(请参阅 LDAP_NETBIOS_DOMAIN 选项) |
注意:
最多可配置20个目录 如果未设置 SS5_NETBIOS_DOMAIN 选项,则 ss5 按配置顺序连接到目录
基于 SS5_RADIUS_AUTH 的 radius 认证配置项
配置项 | 描述 |
---|---|
radius_ip | 设置 radius 服务地址 |
radius_bck_ip | 设置 radius 备用地址 |
radius_auth_port | 设置 radius 认证服务的端口 |
radius_acct_port | 设置 radius 授权服务端口 |
radius_secret | 设置 radius client/server 密码 |
mysql 配置项
配置项 | 描述 |
---|---|
mysql_profile_ip | 设置 mysql 服务地址 |
mysql_profile_db | 设置 mysql 数据库名称 |
mysql_profile_user | 设置 mysql 数据库连接的用户名 |
mysql_profile_password | 设置 mysql 连接数据库的密码 |
mysql_profile_sqlstring | 用于查询分析的 sql (默认情况下为 SELECT uname FROM grp WHERE gname like ) |