我已经在华硕路由器上设置了openvpn客户端,它正在运行padavan固件,类似于番茄等。
VPN客户端可以工作,但我想将其使用限制为局域网(即AppleTV)上的1或2 ip,而所有其他客户端都绕过VPN连接。
padavan vpn客户端有一个自定义脚本,该脚本在接口tun0上下运行时执行。
我已尝试路由我要使用的客户端的IP地址,但这并不能阻止通过所有其他客户端的访问:
#!/bin/sh
### Custom user script
### Called after internal VPN client connected/disconnected to remote VPN server
### $1 - action (up/down)
### $IFNAME - tunnel interface name (e.g. ppp5 or tun0)
### $IPLOCAL - tunnel local IP address
### $IPREMOTE - tunnel remote IP address
### $DNS1 - peer DNS1
### $DNS2 - peer DNS2
# private LAN subnet behind a remote server (example)
peer_lan="192.168.0.130"
peer_msk="255.255.255.253"
### example: add static route to private LAN subnet behind a remote server
func_ipup()
{
# route add -net $peer_lan netmask $peer_msk gw $IPREMOTE dev $IFNAME
# route add -net $peer_lan gw $IPREMOTE dev $IFNAME
route add default dev tun0 table 200
rule add from 192.168.0.130 table 200
return 0
}
func_ipdown()
{
# route del -net $peer_lan netmask $peer_msk gw $IPREMOTE dev $IFNAME
return 0
}
logger -t vpnc-script "$IFNAME $1"
case "$1" in
up)
func_ipup
;;
down)
func_ipdown
;;
esac
我意识到这是非常针对padavan固件的,但是我认为它启动时执行的命令应该是通用的,并且我的路由技能非常有限!
也许我需要阻止/允许改为使用IP表?
任何建议或帮助,不胜感激!