Stan Grishin aa3ff6eea7 | 8 years ago | |
---|---|---|
.. | ||
README.md | 8 years ago | |
vpnbypass.conf | 8 years ago | |
vpnbypass.hotplug | 8 years ago | |
vpnbypass.init | 8 years ago |
A simple PROCD-based vpnbypass service for OpenWrt/LEDE Project. Useful if your router accesses internet thru VPN client/tunnel, but you want specific traffic (ports, IP ranges, domains or local IP ranges) to be routed outside of this tunnel.
This service requires following packages to be installed on your router: ip-full ipset iptables dnsmasq-full
(ip-full
requires you uninstall ip
first; dnsmasq-full
requires you uninstall dnsmasq
first). Run the following commands to satisfy the requirements:
opkg update
opkg remove dnsmasq ip
opkg install ip-full ipset iptables dnsmasq-full
opkg update
opkg install vpnbypass luci-app-vpnbypass
Until the packages are in the official feed/repo for your version, you can install them with:
opkg update; opkg install wget libopenssl
wget --no-check-certificate https://github.com/stangri/Files/raw/master/vpnbypass.ipk -O /tmp/vpnbypass.ipk
wget --no-check-certificate https://github.com/stangri/Files/raw/master/luci-app-vpnbypass.ipk -O /tmp/luci-app-vpnbypass.ipk
opkg install /tmp/vpnbypass.ipk /tmp/luci-app-vpnbypass.ipk
opkg update; opkg install uclient-fetch libustream-mbedtls
wget --no-check-certificate https://github.com/stangri/Files/raw/master/vpnbypass.ipk -O /tmp/vpnbypass.ipk
wget --no-check-certificate https://github.com/stangri/Files/raw/master/luci-app-vpnbypass.ipk -O /tmp/luci-app-vpnbypass.ipk
opkg install /tmp/vpnbypass.ipk /tmp/luci-app-vpnbypass.ipk
Default configuration has service disabled (use Web UI to enable/start service or run uci set vpnbypass.config.enabled=1
) and routes Plex Media Server traffic (port 32400) outside of the VPN tunnel, routes LogmeIn Hamachi traffic (25.0.0.0/8) outside of the VPN tunnel and also routes internet traffic from local IPs 192.168.1.81-192.168.1.87 outside of the VPN tunnel. You can safely delete these example rules if they do not apply to you.
Please head to LEDE Project Forum for discussions of this service.
Domain lists should be in following format/syntax: /domain1.com/domain2.com/vpnbypass
. Please don't forget the leading /
and trailing /vpnbypass
. There's no validation if you enter something incorrectly -- it just won't work. Please see Notes/Known Issues if you want to edit this setting manually, without Web UI.
1.3.0
wan
) works with other interface names (like wwan
).1.2.0
1.1.1
1.1.0:
1.0.0:
0.1.0:
0.0.1:
Domains to be accessed outside of VPN tunnel are handled by dnsmasq and thus are not defined in /etc/config/vpnpass
, but rather in /etc/config/dhcp
. To add/delete/edit domains you can use VPN Bypass Web UI or you can edit /etc/config/dhcp
manually or run following commands:
uci add_list dhcp.@dnsmasq[-1].ipset='/github.com/plex.tv/google.com/vpnbypass'
uci add_list dhcp.@dnsmasq[-1].ipset='/hulu.com/netflix.com/nhl.com/vpnbypass'
uci commit dhcp
/etc/init.d/dnsmasq restart