将对路由器VPN客户端的访问限制为单个IP地址

时间:2019-12-15 13:54:07

标签: shell router iptables openvpn

我已经在华硕路由器上设置了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表?

任何建议或帮助,不胜感激!

0 个答案:

没有答案