PPTP airos/ca: Diferència entre les revisions
De Guifi.net - Wiki Català
(Hi ha 11 revisions intermèdies sense mostrar fetes per 3 usuaris) | |||
Línia 1: | Línia 1: | ||
(Aquest tutorial serveix per a firms standards a partir de la versió XM5.x ) | (Aquest tutorial serveix per a firms standards a partir de la versió XM5.x ) | ||
− | Hem d'editar 1 arxiu, i crear-ne | + | Hem d'editar 1 arxiu, i crear-ne 2 de diferents, per fer-ho només heu de connectar-vos per ssh a l'antena utilitzant un terminal en Linux o Mac OS o bé el Putty [http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe] si ho feu des de Windows . |
+ | Primer de tot afegim les dades de la connexió al fitxer /tmp/system.cfg. Penseu a modificar l'USUARI, PASSWORD i IP_SERVER amb les dades de la vostra connexió. | ||
− | |||
<pre> | <pre> | ||
− | + | cat<<EOT >> /tmp/system.cfg | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | guifibages.usuari=USUARI | |
− | + | guifibages.password=PASSWORD | |
− | + | guifibages.status=enabled | |
+ | guifibages.serverip=IP_SERVER | ||
+ | EOT | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | ' | + | Seguidament creem un script que s'encarregarà de llegir la configuració i aixecar el túnel |
<pre> | <pre> | ||
+ | cat<<EOT >>/etc/persistent/tunel | ||
#!/bin/sh | #!/bin/sh | ||
cfg="/tmp/system.cfg" | cfg="/tmp/system.cfg" | ||
− | pptp=`cat $cfg |grep | + | pptp=\`cat \$cfg |grep guifibages.status=enabled\` |
− | if [ ! -z $pptp ] | + | if [ ! -z \$pptp ] |
then | then | ||
logger -t poststart "PPTP Enabled" | logger -t poststart "PPTP Enabled" | ||
logger -t poststart "Configuring PPPd" | logger -t poststart "Configuring PPPd" | ||
− | user=`cat $cfg | grep | + | user=\`cat \$cfg | grep guifibages.usuari= |sed s/guifibages.usuari=//\` |
− | pass=`cat $cfg | grep | + | pass=\`cat \$cfg | grep guifibages.password= |sed s/guifibages.password=//\` |
− | serverIP=`cat $cfg | grep | + | serverIP=\`cat \$cfg | grep guifibages.serverip= |sed s/guifibages.serverip=//\` |
− | wangw=`cat $cfg | grep route.1.gateway= |sed s/route.1.gateway=//` | + | wangw=\`cat \$cfg | grep route.1.gateway= |sed s/route.1.gateway=//\` |
− | + | echo "\"\$user\" * \"\$pass\"" > /etc/ppp/pap-secrets | |
− | + | echo "\"\$user\" * \"\$pass\"" > /etc/ppp/chap-secrets | |
− | + | ||
− | echo "\"$user\" * \"$pass\"" > /etc/ppp/pap-secrets | + | |
− | echo "\"$user\" * \"$pass\"" > /etc/ppp/chap-secrets | + | |
cat << EOF > /etc/ppp/options.pptp | cat << EOF > /etc/ppp/options.pptp | ||
− | lock noauth nobsdcomp nodeflate persist holdoff 5 | + | lock |
+ | noauth | ||
+ | nobsdcomp | ||
+ | nodeflate | ||
+ | persist | ||
+ | holdoff 5 | ||
+ | +ipv6 ipv6cp-use-ipaddr | ||
+ | ipv6 , | ||
+ | mtu 1450 | ||
+ | mru 1450 | ||
EOF | EOF | ||
− | + | ||
mkdir -p /etc/ppp/peers 2> /dev/null | mkdir -p /etc/ppp/peers 2> /dev/null | ||
cat << EOF > /etc/ppp/peers/pptp | cat << EOF > /etc/ppp/peers/pptp | ||
− | pty "pptp $serverIP --nolaunchpppd" | + | pty "pptp \$serverIP --nolaunchpppd" |
− | name $user | + | name \$user |
defaultroute | defaultroute | ||
remotename PPTP | remotename PPTP | ||
Línia 64: | Línia 60: | ||
logger -t poststart "Setting up gateway" | logger -t poststart "Setting up gateway" | ||
− | + | route add -host \$serverIP gw \$wangw | |
− | route add -host $serverIP gw $wangw | + | route add -net 10.0.0.0/8 gw \$wangw |
− | route add -net 10.0.0.0/8 gw $wangw | + | #cp /etc/persistent/ip* /etc/ppp/ |
− | cp /etc/persistent/ip* /etc/ppp/ | + | logger -t poststart "Enabling IPV6 on all interfaces" |
+ | sysctl -w net.ipv6.conf.all.disable_ipv6=0 | ||
logger -t poststart "Calling PPTP server" | logger -t poststart "Calling PPTP server" | ||
/sbin/pppd call pptp | /sbin/pppd call pptp | ||
− | echo "$?" | + | echo "\$?" |
− | + | sleep 5 | |
+ | /sbin/ip -6 route del default ath0 | ||
+ | /sbin/ip -6 route add default dev ppp0 | ||
+ | /sbin/ip route del default | ||
+ | /sbin/ip route add default dev ppp0 | ||
fi | fi | ||
+ | EOT | ||
+ | |||
</pre> | </pre> | ||
+ | Finalment, afegim dues lines al fitxer /etc/persistent/rc.poststart perquè, al arrencar l'antena, aixequi el tunel, i la segona que permet accedir a internet des de l'interficie LAN, fent un MASQUERADING de la LAN | ||
− | |||
<pre> | <pre> | ||
+ | cat<<EOT >> /etc/persistent/rc.poststart | ||
#!/bin/sh | #!/bin/sh | ||
− | + | echo '/sbin/ip route del default dev ath0' >>/etc/ppp/ip-up | |
− | + | sh /etc/persistent/tunel | |
− | + | iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE | |
− | + | EOT | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</pre> | </pre> | ||
− | + | Ens queda per acabar donar permisos +x a tunel i ja podem reiniciar. També hem de grabar la configuració des del directori | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<pre> | <pre> | ||
− | chmod +x | + | chmod +x /etc/persistent/tunel /etc/persistent/rc.poststart |
cfgmtd -w -p /etc/ | cfgmtd -w -p /etc/ | ||
</pre> | </pre> |
Revisió de 17:53, 1 ago 2016
(Aquest tutorial serveix per a firms standards a partir de la versió XM5.x )
Hem d'editar 1 arxiu, i crear-ne 2 de diferents, per fer-ho només heu de connectar-vos per ssh a l'antena utilitzant un terminal en Linux o Mac OS o bé el Putty [1] si ho feu des de Windows .
Primer de tot afegim les dades de la connexió al fitxer /tmp/system.cfg. Penseu a modificar l'USUARI, PASSWORD i IP_SERVER amb les dades de la vostra connexió.
cat<<EOT >> /tmp/system.cfg guifibages.usuari=USUARI guifibages.password=PASSWORD guifibages.status=enabled guifibages.serverip=IP_SERVER EOT
Seguidament creem un script que s'encarregarà de llegir la configuració i aixecar el túnel
cat<<EOT >>/etc/persistent/tunel #!/bin/sh cfg="/tmp/system.cfg" pptp=\`cat \$cfg |grep guifibages.status=enabled\` if [ ! -z \$pptp ] then logger -t poststart "PPTP Enabled" logger -t poststart "Configuring PPPd" user=\`cat \$cfg | grep guifibages.usuari= |sed s/guifibages.usuari=//\` pass=\`cat \$cfg | grep guifibages.password= |sed s/guifibages.password=//\` serverIP=\`cat \$cfg | grep guifibages.serverip= |sed s/guifibages.serverip=//\` wangw=\`cat \$cfg | grep route.1.gateway= |sed s/route.1.gateway=//\` echo "\"\$user\" * \"\$pass\"" > /etc/ppp/pap-secrets echo "\"\$user\" * \"\$pass\"" > /etc/ppp/chap-secrets cat << EOF > /etc/ppp/options.pptp lock noauth nobsdcomp nodeflate persist holdoff 5 +ipv6 ipv6cp-use-ipaddr ipv6 , mtu 1450 mru 1450 EOF mkdir -p /etc/ppp/peers 2> /dev/null cat << EOF > /etc/ppp/peers/pptp pty "pptp \$serverIP --nolaunchpppd" name \$user defaultroute remotename PPTP file /etc/ppp/options.pptp ipparam pptp EOF logger -t poststart "Setting up gateway" route add -host \$serverIP gw \$wangw route add -net 10.0.0.0/8 gw \$wangw #cp /etc/persistent/ip* /etc/ppp/ logger -t poststart "Enabling IPV6 on all interfaces" sysctl -w net.ipv6.conf.all.disable_ipv6=0 logger -t poststart "Calling PPTP server" /sbin/pppd call pptp echo "\$?" sleep 5 /sbin/ip -6 route del default ath0 /sbin/ip -6 route add default dev ppp0 /sbin/ip route del default /sbin/ip route add default dev ppp0 fi EOT
Finalment, afegim dues lines al fitxer /etc/persistent/rc.poststart perquè, al arrencar l'antena, aixequi el tunel, i la segona que permet accedir a internet des de l'interficie LAN, fent un MASQUERADING de la LAN
cat<<EOT >> /etc/persistent/rc.poststart #!/bin/sh echo '/sbin/ip route del default dev ath0' >>/etc/ppp/ip-up sh /etc/persistent/tunel iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE EOT
Ens queda per acabar donar permisos +x a tunel i ja podem reiniciar. També hem de grabar la configuració des del directori
chmod +x /etc/persistent/tunel /etc/persistent/rc.poststart cfgmtd -w -p /etc/
Sort!