Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jul 2009 08:40:19 +0200
From:      Stefan Bethke <stb@lassitu.de>
To:        Matthias Andree <matthias.andree@gmx.de>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: recent change to ifconfig breaks OpenVPN?
Message-ID:  <BEE762CA-4282-4BA8-B92B-AFC7AAE3CA9A@lassitu.de>
In-Reply-To: <op.uxusbswp1e62zd@merlin.emma.line.org>
References:  <B4AA014B-2444-40AA-A3A3-417E4B89DF90@lassitu.de> <4A709126.5050102@elischer.org> <3A1518B9-2C8C-4F05-9195-82C6017E4902@lassitu.de> <op.uxusbswp1e62zd@merlin.emma.line.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Am 30.07.2009 um 01:46 schrieb Matthias Andree:

> Hi everybody,
>
> If that is the case, then we should go quickly to either make it go  
> into 8-CURRENT's ports or OpenVPN 2.1, or both.
>
> I'm not sure I have sufficient context or time to read up to  
> determine my own role here (I haven't been following -current for  
> lack of time); can someone summarize the issue for me?

I can try to summarize; I don't think I'll have time to come up with a  
patch this weekend.

The problem appears to be that OpenVPN invokes ifconfig with incorrect  
(but previously working) parameters, namely "ifconfig tun0 local_ip  
local_ip" instead of "ifconfig tun0 local_ip remote_ip".  The problem  
does not appear to be the SIOCAIFADDR but the RT_ADD that ifconfig  
does.  When I drafted a replacement OpenVPN --up script yesterday, I  
also noticed that the parameters passed to the script are wrong  
(netmask instead of remote ip), and environment variables are  
partially not set (ifconfig_remote is empty).

This issue appears to affect tun-mode connections; tap-mode  
connections appear to continue to work.

I'm not sure if that is a more general problem with OpenVPN (at least  
in --topology subnet mode), or a specific problem in the FreeBSD- 
specific code.  I just looked at a Linux box connected to the same  
OpenVPN server, and their ifconfig invocation looks different from  
ours, so the FreeBSD-specific code at least plays some role.

I'd still like to know whether the change to the routing code is  
intentional or a regression.


Stefan

p.s. log output wrt ifconfig:

FreeBSD (working up to last week, continues to work in -stable):
/sbin/ifconfig tun1 44.128.127.2 44.128.127.2 netmask 255.255.255.0  
mtu 1500 up

Linux:
/sbin/ifconfig tun4 44.128.127.15 netmask 255.255.255.0 mtu 1500  
broadcast 44.128.127.255

It is interesting to note that tun4 on the Linux box has the same  
local and remote address:
/sbin/ifconfig tun4
tun4      Link encap:UNSPEC  HWaddr  
00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
           inet addr:44.128.127.15  P-t-P:44.128.127.15  Mask: 
255.255.255.0
           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

-- 
Stefan Bethke <stb@lassitu.de>   Fon +49 151 14070811







Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BEE762CA-4282-4BA8-B92B-AFC7AAE3CA9A>