Juniper Network Connect无法在ubuntu 16.04上运行

以前,在Ubuntu 15.04上,我设法遵循本指南

http://ubuntuforums.org/showthread.php?t=2275776

让Juniper Network Connect从Firefox正常工作并连接到我组织的VPN。

升级到16.04后,应该建立VPN连接的Java小程序甚至无法启动。 我没有得到任何提示来运行applet(就像我以前一样):页面只是说“如果需要重新连接,请点击START按钮。”并且没有任何启动按钮。

我已经尝试重新安装java(和firefox)并重新按照上面链接中的指南,但它不起作用。

我安装了oracle java 8(按指南规定),包括设置为“always activate”的firefox插件。 我的第一直觉是firefox以某种方式阻止applet运行,但除了启用插件之外,我不知道该怎么办。

任何帮助表示赞赏。

我最近也需要让它工作。 这很棘手。 要点:

  • 您必须安装32位Firefox(16.04版本附带16.04)
  • 您必须安装32位Oracle Java(不是OpenJRE)
  • 您必须手动安装32位Firefox插件。

您无法使用webupd8 Java安装程序来安装Oracle Java,因为它始终与您的体系结构相匹配并安装64位版本。 Firefox只会运行与其二进制文件(32或64位)匹配的插件。

完成所有这些步骤:

  1. 清除以前版本的Java: sudo apt-get purge openjdk* sudo apt-get purge oracle-java*
  2. 设置apt-get以检索32位版本作为选项。 sudo dpkg --add-architecture i386 sudo apt-get update
  3. 与原始海报的指南一样 ,安装Juniper所需的库: sudo apt-get install libstdc++6:i386 lib32z1 lib32ncurses5 libxext6:i386 libxrender1:i386 libxtst6:i386 libxi6:i386
  4. 安装Firefox 32位(这将自动替换64位版本): sudo apt-get install firefox:i386

  5. 手动下载Oracle Java并按照此StackOverflowpost或此Wiki的描述进行安装。 确保它是32位版本。 这是缩写的安装说明: mkdir /opt/java cp -r ~/Downloads/jre1.8.0_91 /opt/java/ update-alternatives --install /usr/bin/java java /opt/java/jre1.8.0_91/bin/java 1 update-alternatives --set java /opt/java/jre1.8.0_91/bin/java export JAVA_HOME="/opt/java/jre1.8.0_91"

  6. 现在安装Firefox插件。 另.mozilla/plugins文章建议你把插件放在Firefox二进制目录中,但新版本的Firefox要求你把插件放在.mozilla/plugins下的主目录下: mkdir ~/.mozilla/plugins ln -sf $JAVA_HOME/lib/i386/libnpjp2.so ~/.mozilla/plugins/

  7. 重新启动Firefox并在URL栏中输入about:plugins 。 您应该在列表下看到Java(TM) Plug-in 11.91.2

    您还可以访问https://www.java.com/verify/来确认Java是否正常工作

  8. 瞻博网络在错误的位置查找更新备选方案。 从真实位置到Juniper将查找它的符号链接: sudo ln -s /usr/bin/update-alternatives /usr/sbin/update-alternatives

这是Oracle的官方文档,我没有发现它有用,但它强化了这个解决方案是正确的:

  • 安装Java: https : //java.com/en/download/help/linux_install.xml
  • 安装Firefox插件: http : //docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-plugin-install.html

OpenConnect VPN客户端最近增加了对Juniper VPN的支持,支持TCP和UDP数据传输。

我只需安装openconnect和execute命令,如此处所述

 # openconnect --juniper https://vpn.server.com/ 

由于我的第一个答案没有帮助,也许这是一个完全不同的问题:Java只是没有在浏览器中启用?

通过打开Java ControlPanel进行仔细检查。 您可以通过访问安装Java的目录(/opt/java/jre1.8.0_xx或/usr/lib/jre1.8.0_xx是常见的)来打开它。 然后打开./bin/ControlPanel

cd /opt/java/jre1.8.0_91 ./bin/ControlPanel

访问“安全”选项卡,确保“启用了在浏览器中启用Java内容”。

您也可以在“高级”标签下查看,我在地方做了一些更改:

  • 混合代码(沙盒与可信)安全validation:启用 – 如果需要,显示警告。
  • 使用以下命令检查签名代码证书吊销:证书吊销列表(CRL)(过去使用OCSP为我造成了问题)。
  • 执行TLS证书吊销检查:信任链中的所有证书
  • 使用以下方法检查TLS证书吊销:证书吊销列表(CRL)

我的设置曾经用于14.04(后来升级到16.04),但最近它开始破坏。 Nate的方法不起作用,所以其他东西可能丢失/配置错误并阻止安装java applet。 我所知道的是,当针对ssllabs进行检查时,服务器的证书链不完整,因此可能导致SSL错误。

对我来说有用的是从命令行下载和调用NC.jar,如下所示: https ://askubuntu.com/a/555112/43485

在(64位)16.04 LTS上,没有必要更改为32位Firefox。 但是您必须使用32位Oracle Java(另请参见下文)。 以下对我有用。

(删除当前的Java版本)

安装java8-openjdk:

 sudo apt-get install default-jdk 

关闭Firefox,安装Firefox插件:

 sudo apt-get install icedtea-8-plugin 

重新启动Firefox,检查IcedTea-Web插件的插件,转到: http : //www.java.com/verify并检查它是否已安装java。

不要安装32位openjdk(使用sudo apt-get install openjdk-8-jre:i386),而是安装32位Oracle Java,因为Pulse客户端为“Java版本”greps,另请参阅其他post449922.您可以调试自己使用Java控制台:itweb-settings

要安装32位Oracle Java:

从以下jre-8u111-linux-i586.tar.gz下载jre-8u111-linux-i586.tar.gz

http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

提取并移动到目录Oracle_Java(如果不存在则创建),结果:

 /opt/Oracle_Java/jre1.8.0_111 

运行以下命令:

 sudo update-alternatives --install "/usr/bin/java" "java" "/opt/Oracle_Java/jre1.8.0_111/bin/java" 1 sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/opt/Oracle_Java/jre1.8.0_111/bin/javaws" 1 

检查64位openjdk和32位Oracle jre是否已设置:

 sudo update-alternatives --config java 

这应该是这样的:

 --- There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status * 0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 auto mode 1 /opt/Oracle_Java/jre1.8.0_111/bin/java 1 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode --- 

修复路径。 这可能会出错( ln: failed to create a symbolic link '/usr/bin/update-alternatives': File exists )。 没问题,链接已经存在。

 sudo ln -s /usr/bin/update-alternatives /usr/sbin/ 

添加架构:

 sudo dpkg --add-architecture i386 sudo apt-get update 

添加库:

 sudo apt-get install libstdc++6:i386 lib32z1 lib32ncurses5 libbz2-1.0:i386 libxext6:i386 libxrender1:i386 libxtst6:i386 libxi6:i386 

现在连接到您的VPN,您应该收到安装软件的消息,然后连接到您。

我还必须在建立连接后将mtu更改为1000(取决于您的VPN):

 sudo ifconfig tun0 mtu 1000 

在我的情况下,问题是没有XTerm

我在Java控制面板中打开了Java控制台

在此处输入图像描述

并在日志中看到了这一点

 Service needs to be installed for the first time calling ~/.juniper_networks/network_connect/installNC.sh Here is the standard error of the command (if any): ~/.juniper_networks/network_connect/xlaunchNC.sh: 1: ~/.juniper_networks/network_connect/xlaunchNC.sh: xterm: not found 

重新安装xTerm后,它问我sudo密码,一切都开始工作了。

PS x32 Firefox版本是不必要的 – 对我来说它在x64版本上运行正常

您可以使用命令行将Ubuntu 64位客户端连接到没有32位Java的Juniper SSL VPN。

这是您可能需要的HOWTO: http : //blog.geeky.name/post/2016/03/29/HOWTO%3A-Ubuntu-Linux-64bit-Client-connect-to-Juniper-SSL-VPN-without- 32位-Java的%28en%29

简短说明是:

 # Install libs sudo apt-get install libc6:i386 zlib1g:i386 libgtk2-perl libwww-perl # Get files wget https://raw.github.com/madscientist/msjnc/master/msjnc wget http://mad-scientist.net/junipernc chmod +x msjnc junipernc # Using browser to download jar files from SSLVPN website # Extract files ./msjnc # Start VPN junipernc --nojava