如何在Ubuntu 13.04上运行NetExtender VPN客户端?

我有一个Ubuntu 13.04桌面,我需要使用NetExtender连接到Sonicwall VPN设备。 TL,DR,VPN连接正常,但后来我无法访问任何互联网或局域网网站。

细节

First I installed the right libraries and the most recent SUN Java (not Open JDK) using this article: 

如何让Netextender(VPN)在Ubuntu 12.10 x64中运行?

一旦我这样做,并从My Sonicwall网站安装了最新的NetExtender客户端,连接就会成功。
它配置为隧道全部模式,因此所有流量都应该通过VPN,除了我无法访问任何互联网站点或LAN站点。

我在第二个Ubuntu桌面上复制了这个问题,我也在12.04中看到了它。
我可以使用相同的帐户从Mac或Windows连接,因此我认为这不是Sonicwall政策或用户帐户的问题。

果然,这是一个路由问题。

在连接处于活动状态时,我比较了工作的Mac和没有工作的Ubuntu之间的路由表,并确保从我的公共(动态)IP到隧道内的网关的路由不存在。 NetExtender日志还指示“确定到ssl-vpn的现有路由时出错”

要解决此问题,请在终端窗口中执行以下操作:

 sudo route add -net (your-VPNs-public-ip) netmask (your-VPNs-netmask) gw (your-tunnels-gateway) dev (your-ethernet-device) 

例如,我的是这样的。 在我的情况下花了几次尝试,因为连接不断死亡和重新连接 – 这与Sonicwall认为连接不活跃有关?:

 sudo route add -net 1.2.3.4 netmask 255.255.255.255 gw 192.168.0.1 dev wlan0 

从这里得到了这个想法: http : //ubuntuforums.org/showthread.php?t = 2146012&highlight = netextender