Español  

PPTP airos/ca: Diferència entre les revisions

De Guifi.net - Wiki Català

 
(Hi ha 9 revisions intermèdies sense mostrar fetes per 2 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 2 de diferents
+
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ó.
  
'''vi /var/tmp/system.cfg'''
 
 
<pre>
 
<pre>
 +
cat<<EOT >> /tmp/system.cfg
 +
 
guifibages.usuari=USUARI
 
guifibages.usuari=USUARI
 
guifibages.password=PASSWORD
 
guifibages.password=PASSWORD
 
guifibages.status=enabled
 
guifibages.status=enabled
 
guifibages.serverip=IP_SERVER
 
guifibages.serverip=IP_SERVER
 +
EOT
  
 
</pre>
 
</pre>
Un cop editat l'arxiu de configuració, grabem els canvis '''des de l'arrel /var/tmp/'''
 
<pre> cfgmtd -w -p /etc/ </pre>
 
  
 
+
Seguidament creem un script que s'encarregarà de llegir la configuració i aixecar el túnel
Ens dirigim a '''/etc/persistent/''' , per executar 2 lines al arrencar l'antena. Una que aixeca el tunel, i la segona que permet accedir a internet des de l'interficie LAN, fent un MASQUERADING de la LAN
+
 
+
'''''vi /etc/persistent/rc.poststart'''''
+
<pre>
+
#!/bin/sh
+
sh /etc/persistent/tunel
+
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
+
</pre>
+
 
+
'''''vi /etc/persistent/tunel'''''
+
 
<pre>
 
<pre>
 +
cat<<EOT >>/etc/persistent/tunel
 
#!/bin/sh
 
#!/bin/sh
  
 
cfg="/tmp/system.cfg"
 
cfg="/tmp/system.cfg"
  
pptp=`cat $cfg |grep guifibages.status=enabled`
+
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 guifibages.usuari= |sed s/guifibages.usuari=//`
+
         user=\`cat \$cfg | grep guifibages.usuari= |sed s/guifibages.usuari=//\`
         pass=`cat $cfg | grep guifibages.password= |sed s/guifibages.password=//`
+
         pass=\`cat \$cfg | grep guifibages.password= |sed s/guifibages.password=//\`
         serverIP=`cat $cfg | grep guifibages.serverip= |sed s/guifibages.serverip=//`
+
         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
  
 +
        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
 +
 +
</pre>
  
#      echo "DEBUG: using username: $user password: $pass for $serverIP"
+
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
  
#      echo "DEBUG: using username: $user password: $pass for $serverIP"                                                       
+
<pre>
        echo "\"$user\" *      \"$pass\"" > /etc/ppp/pap-secrets                                                               
+
cat<<EOT >> /etc/persistent/rc.poststart
        echo "\"$user\" *      \"$pass\"" > /etc/ppp/chap-secrets                                                               
+
#!/bin/sh
                                                                                                                                 
+
echo '/sbin/ip route del default dev ath0' >>/etc/ppp/ip-up
        cat << EOF > /etc/ppp/options.pptp                                                                                       
+
sh /etc/persistent/tunel
lock                                                                                                                             
+
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE
noauth                                                                                                                           
+
EOT
nobsdcomp                                                                                                                       
+
nodeflate                                                                                                                       
+
persist                                                                                                                         
+
holdoff 5                                                                                                                       
+
+ipv6 ipv6cp-use-ipaddr                                                                                                         
+
ipv6 ,                                                                                                                           
+
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 
+
+
 
</pre>
 
</pre>
  
 
+
Ens queda per acabar donar permisos +x a tunel i ja podem reiniciar. També hem de grabar la configuració des del directori
'''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 tunel
+
chmod +x /etc/persistent/tunel /etc/persistent/rc.poststart
 
cfgmtd -w -p /etc/
 
cfgmtd -w -p /etc/
 
</pre>
 
</pre>

Revisió de 18: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!

Eines de l'usuari