我的 openvpn 服务器启动并运行,我通过 ccd 指令将某些路由推送到我的客户端,我想知道如何在客户端连接时根据 ccd 文件更新 iptables。
所以可以说我的客户 1 的 ccd 是:
ifconfig-push 10.8.0.45 255.255.255.0
push 'route 10.10.0.45'
我想把它添加到 iptables 中。
iptables -A FORWARD -s 10.8.0.45 -d 10.10.0.45 -j ACCEPT
接着
iptables -A FORWARD -s 10.8.0.0/24 -d 10.10.0.0/16 -j DROP
如果有人能指出我正确的方向将不胜感激,我对 bash 脚本相当陌生
您可以将许多脚本挂接到OpenVPN配置中,这些脚本从服务器接收许多参数作为环境变量:cf。参考手册。
您最感兴趣的是在服务器启动和关闭时插入规则
up
的脚本和每个客户端规则的脚本。您需要修改服务器配置以包含:down
DROP
client-connect
client-disconnect
/etc/openvpn/updown.sh
脚本将创建一个OPENVPN
并从FORWARD
链中链接它:/etc/openvpn/client.sh
会更复杂:虽然远程客户端的公共和私有 IP 地址包含在ifconfig_remote
andifconfig_pool_remote_ip
中,但您需要解析 ccd 文件以找出您发送给客户端的路由: