VPN mit ppp und ssh durch firewall bringen

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

VPN mit ppp und ssh durch firewall bringen

Beitrag von knecht » 14.04.2005 14:36:46

Ich versuche gerade nach folgendem HowTo ein VPN einzurichten:
http://www.tldp.org/HOWTO/ppp-ssh/index.html

Es hat auch alles wunderbar beim einrichten geklappt, ich habe eine SSH Verbindung zwischen beiden Rechnern, und kann das Script, das vom Client aus gestartet wird und die ppp Verbindung durchs ssh macht, ausführen.

Code: Alles auswählen

BTS03-13:/home/myself # vpn-pppssh start
Using interface ppp0
Connect: ppp0 <--> /dev/pts/4
sudo: unable to lookup himself via gethostbyname()
Deflate (15) compression enabled
local  IP address 192.168.0.32
remote IP address 192.168.0.31
danach sind auch die Devices aus Client und Server vorhanden (samt routen)

Server:

Code: Alles auswählen

himself:~# ifconfig ppp1
ppp1      Link encap:Point-to-Point Protocol  
          inet addr:192.168.0.31  P-t-P:192.168.0.32  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:69 (69.0 b)  TX bytes:75 (75.0 b)
Client:

Code: Alles auswählen

ppp0      Protokoll:Punkt-zu-Punkt Verbindung  
          inet Adresse:192.168.0.32  P-z-P:192.168.0.31  Maske:255.255.255.255
          UP PUNKTZUPUNKT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 Sendewarteschlangenlänge:3 
          RX bytes:75 (75.0 b)  TX bytes:69 (69.0 b)
Ich kann aber nur vom Client selbst sein eigenes Device 192.168.0.32 anpingen, aber nicht die IP des Serverdevices
Vom Server selbst aus kann ich weder das eigene noch das entfernte anpingen. Also passt ja was mit dem Device auf dem Server nicht, wen der es nichtmal selbst anpingen kann. Das wird auch mit dem Fehler oben zu tun haben

Code: Alles auswählen

sudo: unable to lookup himself via gethostbyname()
Fehlende Packete sinds anscheinend nicht, hab mit apt-cache search gethost gesucht und drei Packete gefunden, die ich aber schon installiert habe.

Ich weiß nicht weiter . . .

Danke
Sebastian
Zuletzt geändert von knecht am 15.04.2005 13:50:04, insgesamt 1-mal geändert.
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 14.04.2005 15:14:36

In der /etc/hosts hat der Eintrag mit himself 192.168.0.1 gefehlt, das geht nun, habe keine Fehlermeldung mehr beim starten. Aber die Lage ist die gleiche:
Ich kann vom Client aus das client ppp anpingen, aber den Server erreiche ich nicht. Vom Server selbst aus kann ich weder das Server ppp anpingen, noch kann ich zum Client pingen.
Wenn ich vom Server zum Client versuche zu pingen folgender Fehler:

Code: Alles auswählen

himself:~# ping 192.168.0.32
PING 192.168.0.32 (192.168.0.32) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
Alle anderen Pings haben keine besondere Ausgabe, gehen halt einfach nicht . . .

Code: Alles auswählen


himself:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.32    *               255.255.255.255 UH    0      0        0 ppp1
145.253.4.135   *               255.255.255.255 UH    0      0        0 ppp0
localnet        *               255.255.255.0   U     0      0        0 eth0
default         145.253.4.135   0.0.0.0         UG    0      0        0 ppp0
Fehlt mir eine Route ?? mein Loopback sollte doch auch da sein . . .

ich kann sie aber auch nicht erstellen:

Code: Alles auswählen

himself:~# route add -net 127.0.0.0
SIOCADDRT: Invalid argument
das Device ist aber sehr wohl da

Code: Alles auswählen

himself:~# ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:215553 errors:0 dropped:0 overruns:0 frame:0
          TX packets:215553 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:97419736 (92.9 MiB)  TX bytes:97419736 (92.9 MiB)
kann mir jemand helfen ??

Danke
Sebastian
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 14.04.2005 19:05:49

konnte die route mit

Code: Alles auswählen

route add -net 127.0.0.0 netmask 255.0.0.0 dev lo
hinzufügen. Werds morgen wieder probiernen
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 15.04.2005 12:35:11

Hat nun alles funktioniert, ich konnte von jedem aus alles im entfernten Netz anpingen :D :D :D

Nun noch ne Frage wegen Firewall:

Im HowTo steht:
The ipchains commands to smash a hole in your firewall for your PPP interface will something like this:
ipchains -I input 1 -i ppp1 -s 192.168.3.0/24 -j ACCEPT
ipchains -I output 1 -i ppp1 -d 192.168.3.0/24 -j ACCEPT
Jetzt hab ich in meine Firewall das geschrieben:

Code: Alles auswählen

  iptables -A INPUT  -i ppp1 -s 192.168.0.0/16 -j ACCEPT
  iptables -A OUTPUT -o ppp1 -d 192.168.0.0/16 -j ACCEPT
Aber trozdem geht es nicht wenn ich meine Firewall hochgefahren habe :(

Aber das ist doch das gleiche was die ipchains Regeln gemacht hätten, oder ?

Wie müßen die regeln dazu aussehen ??
Danke
Sebastian

<edit> mit folgenden Zeilen kann ich vom Server zum Client Pingen, aber der Server kann sein eigenes ppp1 nicht anpingen. Der Client kann sich selbst (sein ppp) anpingen, aber kommt nicht bis zum Server. Wie schon gesagt wenn Firewall runtergefahren ist geht alles:

Code: Alles auswählen

iptables -A INPUT  -i ppp1 -s 192.168.0.0/16 -m state --state ESTABLISHED,RELATED -j ACCEPT
  iptables -A OUTPUT -o ppp1 -d 192.168.0.0/16 -j ACCEPT

Code: Alles auswählen

himself:~# iptables -L 
Chain INPUT (policy DROP)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere            tcp flags:!SYN,RST,ACK/SYN state NEW 
DROP       tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,PSH,ACK,URG/NONE 
DROP       tcp  --  anywhere             anywhere            tcp flags:FIN,SYN/FIN,SYN 
DROP       tcp  --  anywhere             anywhere            tcp flags:SYN,RST/SYN,RST 
DROP       tcp  --  anywhere             anywhere            tcp flags:FIN,RST/FIN,RST 
DROP       tcp  --  anywhere             anywhere            tcp flags:FIN,ACK/FIN 
DROP       tcp  --  anywhere             anywhere            tcp flags:PSH,ACK/PSH 
DROP       icmp -f  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            icmp echo-reply 
DROP       icmp --  anywhere             anywhere            icmp echo-request 
ACCEPT     icmp --  anywhere             anywhere            icmp destination-unreachable 
ACCEPT     icmp --  anywhere             anywhere            icmp source-quench 
ACCEPT     icmp --  anywhere             anywhere            icmp time-exceeded 
ACCEPT     icmp --  anywhere             anywhere            icmp parameter-problem 
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
DROP       all  --  10.0.0.0/8           anywhere            
DROP       all  --  172.16.0.0/12        anywhere            
DROP       all  --  localnet/24          anywhere            
DROP       all  --  msnbot.msn.com/24    anywhere            
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            multiport dports ftp-data,ftp,ssh,smtp,www,pop3,https,6881,6882,6883,6884,8767,4662 
ACCEPT     udp  --  anywhere             anywhere            multiport dports ntp,2001,3998,4672,ipp,8767 
ACCEPT     all  --  localnet/16          anywhere            state RELATED,ESTABLISHED 

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     tcp  --  anywhere             sebastian.knecht    multiport dports 3030 
ACCEPT     udp  --  anywhere             sebastian.knecht    multiport dports 3030 
ACCEPT     tcp  --  anywhere             labslave.knecht     tcp dpt:81 

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             localnet/16         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere        
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 21.04.2005 12:10:37

Hat noch der FORWARD Eintrag gefehlt . . .

Hab jetzt mal ein komplettes HowTo geschrieben wie ich das nun zum laufen gebracht habe: vielleicht hilft es jemanden mal:
https://knecht.homelinux.net/phpBB2/vie ... =3257#3257

ansonsten steht das auch alles hier (nur schon etwas älter):
http://www.tldp.org/HOWTO/ppp-ssh/
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

Antworten