PsychoMantis
Aktives Mitglied
- Mitglied seit
- 18 Dez 2005
- Beiträge
- 2,539
- Punkte für Reaktionen
- 10
- Punkte
- 38
wobei der erste Punkt (Host<->LAN mit XAuth) eigentlich nicht interessant ist in Deinem Fall.
Da es ja nun mal nicht geht, dass sich meine Fritte mit dem Vserver verbindet, habe ich nun doch den umgekehrten Weg versucht.
Nach "aptitude install vpnc" habe ich noch eine /etc/vpnc/fritzbox.conf erstellt:
Code:
IPSec gateway meindyndns.selfhost.bz
IKE DH Group dh2
#Perfect Forward Secrecy nopfs
IPSec ID meinname
IPSec secret geheim
NAT Traversal Mode force-natt
Xauth username meinname
Xauth password geheim
Code:
vpncfg { // Diese Datei in die fritzbox importieren
connections {
enabled = yes;
editable = yes;
conn_type = conntype_user;
name = "meinname";
boxuser_id = 10;
always_renew = yes;
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 0.0.0.0;
remote_virtualip = 192.168.176.201;
keepalive_ip = 0.0.0.0;
remoteid {
key_id = "meinname";
}
mode = phase1_mode_aggressive;
phase1ss = "all/all/all";
keytype = connkeytype_pre_shared;
key = "geheim";
cert_do_server_auth = no;
use_nat_t = yes;
use_xauth = yes;
xauth {
valid = yes;
username = "meinname";
passwd = "geheim";
}
use_cfgmode = no;
phase2localid {
ipnet {
ipaddr = 0.0.0.0;
mask = 0.0.0.0;
}
}
phase2remoteid {
ipaddr = 192.168.176.201;
}
phase2ss = "esp-all-all/ah-none/comp-all/no-pfs";
accesslist = "permit ip 0.0.0.0 0.0.0.0 192.168.176.201 255.255.255.255";
}
ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
"udp 0.0.0.0:4500 0.0.0.0:4500";
}
// EOF
Verbindung wird dann erfolgreich hergestellt, aber irgendwie ist die Verbindung dann zu gut: Internettraffic vom Vserver wird komplett über die Fritzbox geleitet und von außen komme ich an meinen Vserver nicht mehr ran, nur per rescue-console. Eigentlich wollte ich bloß, dass der Vserver die Fritte erreicht und umgekehrt.
Nachtrag: Funktioniert wie ich will, wenn ich die Datei /etc/vpnc/vpnc-script lösche und "Script /etc/vpnc/fritzbox-script" in die fritzbox.conf einfüge.
Code:
#!/bin/sh
# /etc/vpnc/fritzbox-script
IPROUTE=/sbin/ip
case "$reason" in
pre-init)
;;
connect)
INTERNAL_IP4_PREFIX=$(echo $INTERNAL_IP4_ADDRESS | sed -e's/\.[0-9]\+$//')
$IPROUTE link set dev "$TUNDEV" up mtu 1024
$IPROUTE addr add "$INTERNAL_IP4_ADDRESS/255.255.255.0" peer "$INTERNAL_IP4_ADDRESS" dev "$TUNDEV"
$IPROUTE route replace "$INTERNAL_IP4_PREFIX.0/255.255.255.0" dev "$TUNDEV"
$IPROUTE route flush cache
;;
disconnect)
$IPROUTE link set dev "$TUNDEV" down
;;
*)
echo "unknown reason '$reason'. Maybe vpnc-script is out of date" 1>&2
exit 1
;;
esac
exit 0
Auf diesem Wege mehrere Verbindungen zu verschiedenen Fritzboxen aufzubauen, ist aber schwierig. Man müsste mehrere vpnc-instanzen mit verschiedenen Ports laufen lassen.
Nachtrag2:
Unter der Annahme, dass die von StrongSwan benötigten Kernelmodule in meinem Vserver fehlen, habe ich mich gefragt, warum ich ja nun mit vpnc einen VPN-Tunnel herstellen kann, mit StrongSwan jedoch nicht.
Beim intakten Tunnel mit vpnc ist mir (mit ifconfig) aufgefallen, dass ein tun-Device erstellt wird. Der erste Treffer in google mit "strongswan tun device" bringt einen auf diese Seite. Auch wenn mein Englisch nicht perfekt ist, habe ich den Inhalt der Seite so verstanden, dass StrongSwan auch ohne die Kernel-Module arbeiten kann, wenn man ihn vorher mit "./configure --enable-kernel-libipsec && make" kompiliert.
Und tatsächlich: die mit aptitude installierte Version hat das Plugin nicht. Meine gerade kompilierte Version (von dort ) dagegen schon.
Code:
root@psychomantis:~# ipsec start
Starting strongSwan 5.1.3 IPsec [starter]...
no netkey IPsec stack detected
no KLIPS IPsec stack detected
no known IPsec stack detected, ignoring!
root@psychomantis:~#
root@psychomantis:~# ipsec statusall
Status of IKE charon daemon (strongSwan 5.1.3, Linux 2.6.32-042stab084.3, i686):
uptime: 2 seconds, since Jun 30 13:35:49 2014
malloc: sbrk 503808, mmap 0, used 121208, free 382600
worker threads: 7 of 16 idle, 5/0/4/0 working, job queue: 0/0/0/0, scheduled: 0
loaded plugins: charon aes des rc2 sha1 sha2 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey
sshkey pem fips-prf gmp xcbc cmac hmac attr [color=red]kernel-libipsec[/color] kernel-netlink resolve socket-default stroke updown xauth-generic
Listening IP addresses:
84.200.w.x
84.200.y.z
Connections:
berlin: 84.200.w.x...meindyndns.selfhost.bz IKEv1
berlin: local: [84.200.w.x] uses pre-shared key authentication
berlin: remote: [meindyndns.selfhost.bz] uses pre-shared key authentication
berlin: child: 192.168.1.0/24 === 192.168.176.0/24 TUNNEL
Security Associations (0 up, 0 connecting):
none
root@psychomantis:~#
Code:
root@psychomantis:~# ifconfig
ipsec0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
...
Code:
root@psychomantis:~# ipsec up berlin
initiating Main Mode IKE_SA berlin[1] to 92.74.g.h
generating ID_PROT request 0 [ SA V V V V ]
sending packet: from 84.200.w.x[500] to 92.74.g.h[500] (220 bytes)
received packet: from 92.74.g.h[500] to 84.200.w.x[500] (148 bytes)
parsed ID_PROT response 0 [ SA N((24576)) V V ]
received XAuth vendor ID
received DPD vendor ID
generating ID_PROT request 0 [ KE No ]
sending packet: from 84.200.w.x[500] to 92.74.g.h[500] (196 bytes)
received packet: from 92.74.g.h[500] to 84.200.w.x[500] (180 bytes)
parsed ID_PROT response 0 [ KE No ]
generating ID_PROT request 0 [ ID HASH ]
sending packet: from 84.200.w.x[500] to 92.74.g.h[500] (68 bytes)
received packet: from 92.74.g.h[500] to 84.200.w.x[500] (108 bytes)
parsed ID_PROT response 0 [ ID HASH N(INITIAL_CONTACT) ]
IKE_SA berlin[1] established between 84.200.w.x[84.200.w.x]...92.74.g.h[meindyndns.selfhost.bz]
scheduling reauthentication in 9798s
maximum IKE_SA lifetime 10338s
generating QUICK_MODE request 3252815784 [ HASH SA No ID ID ]
sending packet: from 84.200.w.x[500] to 92.74.g.h[500] (228 bytes)
received packet: from 92.74.g.h[500] to 84.200.w.x[500] (68 bytes)
parsed INFORMATIONAL_V1 request 917216112 [ HASH N(NO_PROP) ]
received NO_PROPOSAL_CHOSEN error notify
establishing connection 'berlin' failed
root@psychomantis:~#
Code:
#gestern endete diese Fehlermeldung so (zum Vergleich von oben hier eingefügt)
parsed ID_PROT response 0 [ ID HASH ]
IKE_SA berlin[1] established between 84.200.111.222[84.200.111.222]...188.105.24.8[meindyndns.selfhost.bz]
scheduling reauthentication in 9733s
maximum IKE_SA lifetime 10273s
allocating SPI failed: Invalid argument (22)
unable to get SPI for reqid {1}
allocating SPI from kernel failed
establishing connection 'berlin' failed
root@psychomantis:~#
Zuletzt bearbeitet: