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位)匹配的插件。
完成所有这些步骤:
- 清除以前版本的Java:
sudo apt-get purge openjdk* sudo apt-get purge oracle-java*
- 设置apt-get以检索32位版本作为选项。
sudo dpkg --add-architecture i386 sudo apt-get update
- 与原始海报的指南一样 ,安装Juniper所需的库:
sudo apt-get install libstdc++6:i386 lib32z1 lib32ncurses5 libxext6:i386 libxrender1:i386 libxtst6:i386 libxi6:i386
-
安装Firefox 32位(这将自动替换64位版本):
sudo apt-get install firefox:i386
-
手动下载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"
-
现在安装Firefox插件。 另
.mozilla/plugins
文章建议你把插件放在Firefox二进制目录中,但新版本的Firefox要求你把插件放在.mozilla/plugins
下的主目录下:mkdir ~/.mozilla/plugins ln -sf $JAVA_HOME/lib/i386/libnpjp2.so ~/.mozilla/plugins/
-
重新启动Firefox并在URL栏中输入
about:plugins
。 您应该在列表下看到Java(TM) Plug-in 11.91.2
。您还可以访问https://www.java.com/verify/来确认Java是否正常工作
-
瞻博网络在错误的位置查找更新备选方案。 从真实位置到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