Итак полная инструкция, с рабочим инетом и доступом в локалку.
Asus RT-N16, прошивка rtn3300, /opt на USB жестком диске (ext3) - ничем особенным установка в основную память не отличается.
Poptop 1.3.2 (бинарники из этого поста)
LAN IP адрес роутера: 192.168.1.5
Подключение в инет через L2TP (все параметры автоматом, IP внешний статический)
удаленная система спокойно подключается:
Code:
Oct 21 14:53:47 pppd[392]: local IP address 192.168.1.6
Oct 21 14:53:47 pppd[392]: remote IP address 192.168.1.7
Oct 21 14:53:47 SHURF.PPTDP.UP: ppp1 /dev/pts/1 115200 192.168.1.6 192.168.1.7 83.149.8.166
система может пинговать что угодно в инете:
Code:
PING 87.250.250.203 (87.250.250.203) 56(84) bytes of data.
64 bytes from 87.250.250.203: icmp_seq=1 ttl=51 time=1785 ms
64 bytes from 87.250.250.203: icmp_seq=2 ttl=51 time=861 ms
И даже конектиться куда угодно в инет
Code:
telnet 87.250.250.203 80
GET /.
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
Connection closed by foreign host
#
Информация о конфигурации:
ps (процессы)
Code:
379 admin 792 S /opt/sbin/pptpd -c /opt/etc/pptpd.conf -o /opt/etc/ppp/options.pptpd -p /opt/var/run/pptpd.pid
391 admin 908 S pptpd [83.149.8.166:A50F - 0000]
392 admin 1532 S /usr/sbin/pppd local file /opt/etc/ppp/options.pptpd 115200 192.168.1.6:192.168.1.7 ipparam 83.149.8.166
/opt/etc/pptpd.conf
Code:
ppp /usr/sbin/pppd
option /opt/etc/ppp/options.pptpd
localip 192.168.1.6
remoteip 192.168.1.7-9
/opt/etc/ppp/options.pptpd
Code:
name shurfpptp
logfile /opt/var/run/pppd.vpn.log
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 192.168.1.5
ms-dns 85.21.192.5
proxyarp
ip-up-script /opt/etc/ppp/ip-up
ip-down-script /opt/etc/ppp/ip-down
lock
mru 512
mtu 512
novj
novjccomp
nodefaultroute
/opt/etc/ppp/ip-up
Code:
#!/bin/sh
/usr/bin/logger -t "SHURF.PPTDP.UP" "$1 $2 $3 $4 $5 $6"
/usr/sbin/iptables -I INPUT -i $1 -s $5 -j ACCEPT
/usr/sbin/iptables -I FORWARD -i $1 -s $5 -j ACCEPT
/usr/sbin/iptables -I OUTPUT -i $1 -j ACCEPT
/usr/sbin/iptables -I FORWARD -o $1 -j ACCEPT
/usr/sbin/iptables -t nat -I POSTROUTING -s $5 -o br0 -j MASQUERADE
/opt/sbin/bcrelay -d -i br0 -o $1 -n
/opt/etc/ppp/ip-down
Code:
#!/bin/sh
/usr/bin/logger -t "SHURF.PPTDP.DOWN" "$1 $2 $3 $4 $5 $6"
/usr/sbin/iptables -D INPUT -i $1 -s $5 -j ACCEPT
/usr/sbin/iptables -D FORWARD -i $1 -s $5 -j ACCEPT
/usr/sbin/iptables -D OUTPUT -i $1 -j ACCEPT
/usr/sbin/iptables -D FORWARD -o $1 -j ACCEPT
/usr/sbin/iptables -t nat -D POSTROUTING -s $5 -o br0 -j MASQUERADE
ps | grep bcrelay | grep $1 | awk '{print $1}' | xargs kill
/usr/local/sbin/post-mount
Code:
#!/bin/sh
chmod 777 /tmp
mount /tmp/mnt/disca_1 /opt
/opt/sbin/insmod /opt/lib/tun.ko
chmod go-rw /tmp/ppp/chap-secrets
rm -f /opt/etc/ppp/chap-secrets
ln -s /tmp/ppp/chap-secrets /opt/etc/ppp/
/opt/etc/init.d/S20poptop start
/usr/local/sbin/post-firewall
Code:
#!/bin/sh
/usr/bin/logger -t "SHURF.POSTFW" "Started pf: $1 $2 $3 $4 $5 $6"
/usr/sbin/iptables -I INPUT -p tcp --dport 1723 -j ACCEPT
/usr/sbin/iptables -I INPUT -p 47 -j ACCEPT
/usr/sbin/iptables -t nat -I PREROUTING -p tcp --dport 1723 -j ACCEPT
/usr/sbin/iptables -I OUTPUT -p 47 -j ACCEPT
iptables --list-rules -t nat основное
Code:
-P PREROUTING ACCEPT
-P POSTROUTING ACCEPT
-P OUTPUT ACCEPT
-A PREROUTING -p tcp -m tcp --dport 1723 -j ACCEPT
-A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -o br0 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.0/24 -o ppp1 -j MASQUERADE
iptables --list-rules основное
Code:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -s 192.168.1.7/32 -i ppp1 -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -d 192.168.1.5/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -j DROP
-A FORWARD -o ppp1 -j ACCEPT
-A FORWARD -s 192.168.1.7/32 -i ppp1 -j ACCEPT
-A OUTPUT -p gre -j ACCEPT
Code:
[admin@RT-N16 root]$ ls -l /tmp/ppp/chap-secrets
-rw------- 1 admin root 94 Oct 21 12:44 /tmp/ppp/chap-secrets
[admin@RT-N16 root]$ cat /tmp/ppp/chap-secrets
#client server secret IP addresses
username shurfpptp "passwd" *
Проблема DNS запросов решается следующим образом:
Добавить файлик /usr/local/etc/dnsmasq.conf (не забыть запихать его в /usr/local/.files для flashfs save)
Code:
[admin@RT-N16 root]$ cat /usr/local/etc/dnsmasq.conf
listen-address=192.168.1.5
no-dhcp-interface=ppp1
no-dhcp-interface=ppp2
Последние две строки добавил на всякий случай - не уверен насчет них.
Возможно какие-то действия лишние и являются результатом шаманства, поправьте меня, если так.