Main goal:
Setup an automatic configuration for sharing a secure SSH tunnel connect with local clients.
Scheme :

Prerequisites:
opkg install --force-overwrite openssh-client openssh-client-utils curl shadow-useradd
opkg install procps-ng-pgrep coreutils-nohup
Redsocks #### 15.05 and higher firmware
Sshpass #### "It will work on any ar71xx."
Configuration files:
/etc/firewall.user
SOXIFIER_PORT=1099
. /lib/functions/network.sh
# forwarded connections
sysctl -w net.ipv4.conf.br-lan.route_localnet=1
iptables -t nat -C prerouting_lan_rule -p tcp ! --dst 192.168.0.0/16 -j DNAT --to 127.0.0.1:$SOXIFIER_PORT ||
iptables -t nat -I prerouting_lan_rule -p tcp ! --dst 192.168.0.0/16 -j DNAT --to 127.0.0.1:$SOXIFIER_PORT
/etc/init.d/socks_vps
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
START=50
STOP=50
USE_PROCD=1
USERNAME=root
COMMAND="sshpass -f /etc/ssh/pass.txt ssh -N -D 1080 -l user SERVER_IP"
start_service() {
procd_open_instance
procd_set_param user $USERNAME
procd_set_param respawn 10 10 0
procd_set_param command $COMMAND
procd_close_instance
}
/etc/hotplug.d/iface/99-exec-on-updown
#!/bin/sh
local cmd
if [ "$ACTION" = ifup ]; then
cmd=$(uci get network.$INTERFACE.exec_on_up)
[ -n "$cmd" ] && $cmd
fi
if [ "$ACTION" = ifdown ]; then
cmd=$(uci get network.$INTERFACE.exec_on_down)
[ -n "$cmd" ] && $cmd
fi
/etc/init.d/network
config interface 'wan'
........
option exec_on_up '/etc/init.d/redsocks start'
# autostart not working because network is down
/etc/init.d/redsocks disable
/etc/init.d/redsocks start
/etc/config/network
config interface 'wan'
........
option exec_on_up '/etc/init.d/redsocks start'
/etc/redsocks.conf
........
local_ip = 127.0.0.1;
local_port = 1099;
........
ip = 127.0.0.1;
port = 1080;
type = socks5;
........
Good luck!
(Last edited by vital21 on 5 Nov 2016, 05:38)