Ubuntu 14.04 Behind Domain Proxy Solved

I was fighting last few weeks from my work to make connection from my test Ubuntu 14.04 Server  to internet. I followed many tutorials but it doesn’t work.

How to solved that? use CNTML

Cntlm (user-friendly wiki / technical manual) is an NTLM / NTLM Session Response / NTLMv2 authenticating HTTP proxy intended to help you break free from the chains of Microsoft proprietary world. You can use a free OS and honor our noble idea, but you can’t hide. Once you’re behind those cold steel bars of a corporate proxy server requiring NTLM authentication, you’re done with. The same even applies to 3rd party Windows applications, which don’t support NTLM natively.

Here comes Cntlm. It stands between your applications and the corporate proxy, adding NTLM authentication on-the-fly. You can specify several “parent” proxies and Cntlm will try one after another until one works. All auth’d connections are cached and reused to achieve high efficiency. Just point your apps proxy settings at Cntlm, fill in cntlm.conf (cntlm.ini) and you’re ready to do. This is useful on Windows, but essential for non-Microsoft OS’s.

How to use that behind Ubuntu?

Download Deb package from  http://sourceforge.net/projects/cntlm/files/cntlm/cntlm%200.92.3/

Install in your Ubuntu/Mint:

root@ubuntu:/home/mel# dpkg -i cntlm_0.92.3_amd64.deb
Selecting previously unselected package cntlm.
(Reading database ... 66168 files and directories currently installed.)
Preparing to unpack cntlm_0.92.3_amd64.deb ...
Unpacking cntlm (0.92.3) ...
Setting up cntlm (0.92.3) ...
Adding system user `cntlm' (UID 108) ...
Adding new user `cntlm' (UID 108) with group `nogroup' ...
Creating home directory `/var/run/cntlm' ...
Starting CNTLM Authentication Proxy: cntlm.
Processing triggers for ureadahead (0.100.0-16) ...
ureadahead will be reprofiled on next reboot
Processing triggers for man-db (2.6.7.1-1) ...

Edit cntlm.conf with the following:

vi  /etc/cntlm.conf
Username your_username
Domain  your_domain
Password yourpassword
Proxy proxyserver:port
Listen 127.0.0.1:3128

Save and exit.

Generate password hash:

root@ubuntu:/home/mel# cntlm -H
Password:
PassLM 7871E8C14D0EDE95C84DB51BE349E8D8
PassNT 139BA2B8B7A623591AE51A06472329B4
PassNTLMv2 4F330122AC838C14C77CD49653AEFFD1 # Only for user 'mel', domain 'Amsterdam'

Export the Local Proxy:

export http_proxy=http://127.0.0.1:3128/

Restart cntml daemon to load the new settings:

root@ubuntu:/home/mel# /etc/init.d/cntlm restart
Stopping CNTLM Authentication Proxy: cntlm.
Starting CNTLM Authentication Proxy: cntlm.

Now, its time to enjoy:

root@ubuntu:/home/mel# apt-get install pidgin
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
 aspell aspell-en dictionaries-common enchant glib-networking glib-networking-common
 glib-networking-services gsettings-desktop-schemas gstreamer0.10-nice gstreamer0.10-plugins-base
 gstreamer0.10-plugins-good gstreamer0.10-x hunspell-en-us libaa1 libaspell15 libavc1394-0 libcaca0
 libcanberra-gtk3-0 libcanberra-gtk3-module libcdparanoia0 libdv4 libenchant1c2a libfarstream-0.1-0
0 upgraded, 63 newly installed, 0 to remove and 9 not upgraded.
Need to get 11.3 MB of archives.
After this operation, 42.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Please let us know if you still have any issues.