networkmanager with vpn and wrong routes



Hallo!

PLS CC me because i am not subscribed to this list.

I found a strange behavior with networkmanager and vpn tunnels an my
openSuSE 10.1 System.
I am in the net: 192.168.0.0/24
My openvpn Gateway is 192.168.0.80 (its in the same net).
If I establish a connection with networkmanager using an openvpntunnel I end
up with the following routing table:

Monkey:~ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.0.80    192.168.0.1     255.255.255.255 UGH   0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         *               0.0.0.0         U     0      0        0 tun0
Monkey:~ # ping 10.8.0.1
PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.

--- 10.8.0.1 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1008ms

Monkey:~ #

10.8.0.1 is the servers vpn ip address. I have no usable connection to it.
after deleting the route to the host 192.168.0.80 I do get a connection:

Monkey:~ # route del -host 192.168.0.80
Monkey:~ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         *               0.0.0.0         U     0      0        0 tun0
Monkey:~ # ping 10.8.0.1
PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data.
64 bytes from 10.8.0.1: icmp_seq=1 ttl=64 time=1.53 ms
64 bytes from 10.8.0.1: icmp_seq=2 ttl=64 time=0.834 ms
64 bytes from 10.8.0.1: icmp_seq=3 ttl=64 time=1.23 ms
64 bytes from 10.8.0.1: icmp_seq=4 ttl=64 time=1.27 ms

--- 10.8.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.834/1.217/1.534/0.253 ms

Monkey:~ #

This problem does only occur if the vpn-gateway is in the same subnet as the
client.

As I looked over the code I found the wrong-going function in the file
NetworkManager-0.6.4\src\backends\NetworkManagerSuSE.c

/*
 * nm_system_device_add_route_via_device_with_iface
 *
 * Add route to the given device
 *
 */
void nm_system_device_add_route_via_device_with_iface (const char *iface,
const char *route)
{
	char	*buf;

	g_return_if_fail (iface != NULL);

	/* Add default gateway */
	buf = g_strdup_printf ("/sbin/ip route add %s dev %s", route, iface);
	nm_spawn_process (buf);
	g_free (buf);
}

In my opinion this function should not get called if the vpn-gateway is in
the same subnet as the client.
I don't know how to fix this problem but I am hoping you can help me out a
bit :D

It would also be great if a fix could make it into opensuse 10.1.

Thank you for listening.
And have a nice Christmas!

Yours
Stephan




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]