LINUX.ORG.RU

Сообщения conrod

 

Помогите пожалуйста с iptables (dd-wrt, vpn)

Форум — Admin

Есть рутер с dd-wrt, рутер подсоединяется к strongvpn.com.
За рутером стоит виндовозный сервер, который ходит через strongvpn.com в интернет.
С форумов стронгвпн я взял фаерволл который настраивает всё нужное.
Всё нормально, рутер грузит скрипт, создаёт ppp0 и делает его дефолтным шлюзом.
Но мне надо что-бы я мог подсоединяться удалённо к этому рутеру, используя адрес провайдера (те. не strongvpn) и по видимому из за того что дефолтный шлюз меняется я это сделать не смогу.
Я без проблем подсоединяюсь к рутеру из локалки.
Могу подсоедениться через ип провайдера до того как поднято pptp соединение. Но как только pptp поднимается то до свидания. :)
Если путано, то скажите, постараюсь объяснить понятнее.
Рутинг и фаервол прилагается.

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
208.xx.xxx.1 * 255.255.255.255 UH 0 0 0 ppp0
192.168.2.1 * 255.255.255.255 UH 0 0 0 eth0
204.xx.xxx.xxx 192.168.2.1 255.255.255.255 UGH 0 0 0 eth0
192.168.128.0 * 255.255.255.0 U 0 0 0 br0
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 br0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default * 0.0.0.0 U 0 0 0 ppp0

echo «sleep 40» > /tmp/firewall_script.sh;
echo «gw=\`ip route ls to 0/0|cut -d ' ' -f3\`» >> /tmp/firewall_script.sh;
echo «vpnsrv=\$(nvram get pptpd_client_srvip)» >> /tmp/firewall_script.sh;
echo «dynvpnip=\$(ifconfig ppp0 | grep 'inet addr' | grep -v '127.0.0.1'| awk '{print $2}' | cut -d: -f2)» >> /tmp/firewall_script.sh;
echo «vpnip=\$(nvram get pptpd_client_srvsub)» >> /tmp/firewall_script.sh;

echo «route add -host \$vpnsrv gw \$gw» >> /tmp/firewall_script.sh;
echo «route del default» >> /tmp/firewall_script.sh;
echo «route add default dev ppp0» >> /tmp/firewall_script.sh;

echo «iptables -t nat -I POSTROUTING -o ppp0 -j SNAT --to-source \$dynvpnip» >> /tmp/firewall_script.sh;
echo «for i in \`echo \$(nvram get forward_spec)|sed 's=\ =\n=g'|grep on|grep tcp\`; do» >> /tmp/firewall_script.sh;
echo «iptables -t nat -A PREROUTING -p tcp -i ppp0 -d \$dynvpnip --dport \`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j DNAT --to \`echo \$i|cut -d \> -f 2\`» >> /tmp/firewall_script.sh;
echo «iptables -A FORWARD -p tcp -i ppp0 -d \`echo \$i|cut -d \> -f 2|cut -d : -f 1\` --dport \`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j ACCEPT» >> /tmp/firewall_script.sh;
echo «done» >> /tmp/firewall_script.sh;
echo «for i in \`echo \$(nvram get forward_spec)|sed 's=\ =\n=g'|grep on|grep udp\`; do» >> /tmp/firewall_script.sh;
echo «iptables -t nat -A PREROUTING -p udp -i ppp0 -d \$dynvpnip --dport \`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j DNAT --to \`echo \$i|cut -d \> -f 2\`» >> /tmp/firewall_script.sh;
echo «iptables -A FORWARD -p udp -i ppp0 -d \`echo \$i|cut -d \> -f 2|cut -d : -f 1\` --dport \`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j ACCEPT» >> /tmp/firewall_script.sh;
echo «done» >> /tmp/firewall_script.sh;

sh /tmp/firewall_script.sh &


conrod
()

RSS подписка на новые темы