Español  

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 4 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>
ppp.1.name=USUARI
+
cat<<EOT >> /tmp/system.cfg
ppp.1.password=PASSWORD
+
ppp.1.status=disabled
+
ppp.status=disabled
+
pptp.1.serverip=IP_SERVER
+
pptp.status=enabled
+
  
</pre>
+
guifibages.usuari=USUARI
Un cop editat l'arxiu de configuració, grabem els canvis '''des de l'arrel /var/tmp/'''
+
guifibages.password=PASSWORD
<pre> cfgmtd -w -p /etc/ </pre>
+
guifibages.status=enabled
 +
guifibages.serverip=IP_SERVER
 +
EOT
  
 
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>
 
</pre>
  
'''''vi /etc/persistent/tunel'''''
+
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.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 ppp.1.name= |sed s/ppp.1.name=//`
+
         user=\`cat \$cfg | grep guifibages.usuari= |sed s/guifibages.usuari=//\`
         pass=`cat $cfg | grep ppp.1.password= |sed s/ppp.1.password=//`
+
         pass=\`cat \$cfg | grep guifibages.password= |sed s/guifibages.password=//\`
         serverIP=`cat $cfg | grep pptp.1.serverip= |sed s/pptp.1.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
#      echo "DEBUG: using username: $user password: $pass for $serverIP"
+
         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 maxfail 0
+
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 del default gw $wangw
+
         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
  
'''''vi /etc/persistent/ip-down'''''
 
 
<pre>
 
<pre>
 +
cat<<EOT >> /etc/persistent/rc.poststart
 
#!/bin/sh
 
#!/bin/sh
if [ -f /etc/ppp/resolv.conf ]; then
+
echo '/sbin/ip route del default dev ath0' >>/etc/ppp/ip-up
        if [ -f /etc/ppp/resolv.prev ]; then
+
sh /etc/persistent/tunel
                cp -f /etc/ppp/resolv.prev /etc/resolv.conf
+
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -j MASQUERADE
        else
+
EOT
                rm -f /etc/resolv.conf
+
        fi
+
fi
+
 
+
rm -f /etc/ppp/info.$IFNAME
+
 
+
if [ -x /bin/sysled ]; then
+
        /bin/sysled -i 0 2>/dev/null
+
fi
+
 
+
if [ -f /etc/ppp/rssi_decode.sh ]; then
+
        . /etc/ppp/rssi_decode.sh stop
+
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
'''''vi /etc/persistent/ip-up'''''
+
<pre>
+
if [ -f /etc/ppp/resolv.conf ]; then
+
        rm -f /etc/ppp/resolv.prev
+
        if [ -f /etc/resolv.conf ]; then
+
                cp /etc/resolv.conf /etc/ppp/resolv.prev
+
                grep domain /etc/ppp/resolv.prev > /etc/resolv.conf
+
                grep search /etc/ppp/resolv.prev >> /etc/resolv.conf
+
                cat /etc/ppp/resolv.conf >> /etc/resolv.conf
+
        else
+
                cp /etc/ppp/resolv.conf /etc/.
+
        fi
+
fi
+
 
+
# set the txqueuelen higher than crappy 3
+
ifconfig $IFNAME txqueuelen 32 2>&1 > /dev/null
+
 
+
if [ -x /bin/sysled ]; then
+
        /bin/sysled -i 1 2>/dev/null
+
fi
+
if [ -f /etc/ppp/rssi_decode.sh ]; then
+
        . /etc/ppp/rssi_decode.sh start
+
fi
+
 
+
cat > /etc/ppp/info.$IFNAME << EOF
+
started = `cat /proc/uptime | cut -d '.' -f 1`
+
device = $DEVICE
+
ifname = $IFNAME
+
name = `sed '/^name /!d; s///; s/^"//; s/"$//; q' /etc/ppp/options`
+
iplocal = $IPLOCAL
+
ipremote = $IPREMOTE
+
dns1 = $DNS1
+
dns2 = $DNS2
+
peername = $PEERNAME
+
linkname = $LINKNAME
+
EOF
+
</pre>
+
 
+
 
+
'''Ens queda per acabar donar permisos +x a ip-up ip-down i tunel i ja podem reiniciar. També hem de grabar la configuració des del directori'''
+
  
 
<pre>
 
<pre>
chmod +x ip-up ip-down tunel
+
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!

Eines de l'usuari