( Note : Make sure you are connected to the router wirelessly or via Ethernet cable. )
Step 1
Please open a Web Browser and Enter your DD-WRT Firmware Router's Local IP to Access Admin Interface. ( Default : 192.168.1.1 )
Step 2
After you are logged into Admin Interface , Click on Setup -> Basic Setup and Scroll Down Network Address Server Settings (DHCP ) And Enter Static DNS & Click on Save
Static DNS 1 : 208.67.222.222
Static DNS 2 : 208.67.220.220
Step 3
Now Click on Services Tab -> VPN and Enable PPTP Client
- Server IP or DNS Name: VPN Server Address (View List of VPN Server address)
- Remote Subnet: 0.0.0.0
- Remote Subnet Mask: 255.255.255.0
- MPPE Encryption: mppe required,stateless
- User Name: Your VPN Username
- Password: Your VPN Password
Step 4
Disable SPI Firewall
Click on Security Tab -> Firewall Protection SPI Firewall -> Disable
Step 5
Now go to Administration > Commands
Copy and paste the script from below into the command box and click - Save Firewall
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 ; echo "for i in \`echo \$(nvram get forward_spec)|sed 's=\ =\n=g'|grep on|grep both\` ; 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 "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 &