On 12/06/2016 11:04 AM, Florian Ermisch wrote:
And I guess that's the problem: the client
goes "hi I'm 10.1.1.58 and I'd like to
connect" and isakmpd doesn't know no
10.1.1.58. IKEv1 is very picky about those
things: When it doesn't expect an ID no
peer presenting one will be allowed to
connect AFAIK.

Maybe adding local/peer or srcid/dstid
will help. You can try with using the
clients current local IP of 10.1.1.58
as ID to expect.

Hi folks, I faced with same issue. Here are my details.

1) Win7 which is behind 3G wireless router(192.168.5.250)

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) Wireless WiFi Link 4965AGN
   Physical Address. . . . . . . . . : 00-1F-00-12-00-91
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv4 Address. . . . . . . . . . . : 192.168.5.88(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.5.250
   DNS Servers . . . . . . . . . . . : 192.168.5.250
   NetBIOS over Tcpip. . . . . . . . : Enabled

Myip lookup in browser gives me 78.111.187.234 as my real
public IP in Internet.

VPN connection details:
Security: L2TP,
Advanced settings: Use preshared key (one from ipsec.conf),
Data encryption: Require encryption,
Authentication: Allow CHAP, MS-CHAP v2

2) OpenBSD side.

ipsec.conf:

ike passive esp transport \
proto udp from any to any port 1701 \
main auth hmac-sha1 enc aes group modp2048 \
quick auth hmac-sha1 enc 3des \
psk "secret"

pf.conf:

set skip on  { lo0, tun0 }
pass in on $ext_if inet proto udp from any to re1 port { 1701, 500, 4500 }
pass in on $ext_if proto { esp, ah } from any to re1
pass on enc0 from any to any keep state (if-bound)

npppd.conf:

authentication LOCAL type local {
    users-file "/etc/npppd/npppd-users"
}
tunnel L2TP protocol l2tp {
    listen on 195.68.x.y
}
ipcp IPCP {
        pool-address 192.168.222.2-192.168.222.254
        dns-servers 192.168.8.254
}
interface tun0  address 192.168.222.1 ipcp IPCP
bind tunnel from L2TP authenticated by LOCAL to tun0

3) Action.
I start npppd, isakmpd and apply ipsecctl -f /etc/ipsec.conf
and then connect from Win7 client.

# npppd -d
2017-02-01 13:28:10:NOTICE: Starting npppd pid=2226 version=5.0.0
2017-02-01 13:28:10:NOTICE: Load configuration from='/etc/npppd/npppd.conf' successfully.
2017-02-01 13:28:10:INFO: tun0 Started ip4addr=192.168.222.1
2017-02-01 13:28:10:INFO: ipcp=IPCP pool dyn_pool=[192.168.222.2/31,192.168.222.4/30,192.168.222.8/29,192.168.222.16/28,192.168.222.32/27,192.168.222.64/26,192.168.222.128/26,192.168.222.192/27,192.168.222.224/28,192.168.222.240/29,192.168.222.248/30,192.168.222.252/31,192.168.222.254/32] pool=[192.168.222.2/31,192.168.222.4/30,192.168.222.8/29,192.168.222.16/28,192.168.222.32/27,192.168.222.64/26,192.168.222.128/26,192.168.222.192/27,192.168.222.224/28,192.168.222.240/29,192.168.222.248/30,192.168.222.252/31,192.168.222.254/32]
2017-02-01 13:28:10:INFO: Added 13 routes for new pool addresses
2017-02-01 13:28:10:INFO: Loading pool config successfully.
2017-02-01 13:28:10:INFO: l2tpd Listening 195.68.x.y:1701/udp (L2TP LNS) [L2TP]

# isakmpd -Kdv
133951.389348 Default isakmpd: starting [priv]
134008.194204 Default isakmpd: phase 1 done (as responder): initiator id 192.168.5.88, responder id 195.68.x.y, src: 195.68.x.y dst: 78.111.187.234 134008.307485 Default responder_recv_HASH_SA_NONCE: peer proposed invalid phase 2 IDs: initiator id 192.168.5.88, responder id 195.68.x.y 134008.307509 Default dropped message from 78.111.187.234 port 4500 due to notification type INVALID_ID_INFORMATION
^C134045.852435 Default isakmpd: shutting down...
134045.852621 Default isakmpd: exit

# tcpdump -i re1 -nvvv host 78.111.187.234
tcpdump: listening on re1, link-type EN10MB
13:40:07.820658 78.111.187.234.14717 > 195.68.x.y.500: isakmp v1.0 exchange ID_PROT
        cookie: f226e0502ef70be5->0000000000000000 msgid: 00000000 len: 384
        payload: SA len: 212 [|isakmp] (ttl 123, id 6811, len 412)
13:40:07.821374 195.68.x.y.500 > 78.111.187.234.14717: isakmp v1.0 exchange ID_PROT
        cookie: f226e0502ef70be5->377d76144ad08a15 msgid: 00000000 len: 188
payload: SA len: 60 [|isakmp] (ttl 64, id 32899, len 216, bad ip cksum 0! -> 676d) 13:40:08.007137 78.111.187.234.14717 > 195.68.x.y.500: isakmp v1.0 exchange ID_PROT
        cookie: f226e0502ef70be5->377d76144ad08a15 msgid: 00000000 len: 388
        payload: KEY_EXCH len: 260 [|isakmp] (ttl 123, id 6812, len 416)
13:40:08.045493 195.68.x.y.500 > 78.111.187.234.14717: isakmp v1.0 exchange ID_PROT
        cookie: f226e0502ef70be5->377d76144ad08a15 msgid: 00000000 len: 388
payload: KEY_EXCH len: 260 [|isakmp] (ttl 64, id 11204, len 416, bad ip cksum 0! -> bb64) 13:40:08.193866 78.111.187.234.4500 > 195.68.x.y.4500: udpencap: isakmp v1.0 exchange ID_PROT encrypted cookie: f226e0502ef70be5->377d76144ad08a15 msgid: 00000000 len: 76 (ttl 122, id 6815, len 108) 13:40:08.194153 195.68.x.y.4500 > 78.111.187.234.4500: udpencap: isakmp v1.0 exchange ID_PROT encrypted cookie: f226e0502ef70be5->377d76144ad08a15 msgid: 00000000 len: 92 (ttl 64, id 31649, len 124, bad ip cksum 0! -> 6cab) 13:40:08.307177 78.111.187.234.4500 > 195.68.x.y.4500: udpencap: isakmp v1.0 exchange QUICK_MODE encrypted cookie: f226e0502ef70be5->377d76144ad08a15 msgid: 00000001 len: 332 (ttl 123, id 6816, len 364) 13:40:08.307699 195.68.x.y.4500 > 78.111.187.234.4500: udpencap: isakmp v1.0 exchange INFO encrypted cookie: f226e0502ef70be5->377d76144ad08a15 msgid: c2fa3631 len: 76 (ttl 64, id 41987, len 108, bad ip cksum 0! -> 4459)

I've also tried to connect directly from iphone by
adjusting a bit main and quick section in ipsec.conf
but got same result with "invalid phase 2".

When I change Win7 VPN Data encryption setting to
"Optional encryption" and don't use isakmpd on server
side then I could connect to npppd and get access to
resources behind server.
However I don't know if this gives good security level
(I mean data is secured from ManInMiddle) and this
is why I want to go further with Ipsec.

Reply via email to