1. 程式人生 > >linux下代理上網設定

linux下代理上網設定

第一種情況是ISA伺服器代理的設定

ubuntu12.04環境 ,如果公司用的是isa伺服器,可能設定就稍微有些麻煩了,起初我也是在網路上查找了很久,終於找出了正確的方法:

瀏覽器上網就不用說了,直接開啟火狐瀏覽器的首選項,設定代理上網就可以了,當想用終端install個軟體時就痛苦了,此時可以用ntlmaps代理

1.到網站下一個ntlmaps的包:

  這裡是一個下載ntlmaps包的網站(http://download.chinaunix.net/download.php?id=15159&ResourceID=7502),並解壓。

  或者從 點選開啟連結http://sourceforge.net/directory/os:windows/freshness:recently-updated/?q=ntlmaps

)下載安裝包。

2.設定/etc/ntlmaps/server.cfg

LISTEN_PORT: 5865      #(ntlmaps的預設埠,最好不要改)

PARENT_PROXY: ISA1     #(代理伺服器,這要根據實際情況設定,或者也可以使用代理伺服器的IP地址)

PARENT_PROXY_PORT: 80  #(代理埠,一般都用 80,根據實際情況設定)

NT_DOMAIN: asuscn      #(代理伺服器的域名,根據實際情況設定)

USER:                  #(使用者名稱,能聯公司網域的那個,不是 ubuntu 的)

PASSWORD:              #(密碼,能聯公司網域的那個,不是 ubuntu的,並且密碼中不能有井號 “#” )

3.將代理設定應用到整個系統
從面板上依次點選 系統--->首選項--->網路代理
會彈出下面的配置視窗,如圖 1-3
選中“手動配置代理伺服器”,
HTTP代理處輸入:localhost
埠處輸入:5865
勾選“為所有協議使用相同代理”
然後點選“應用到整個系統”按鈕。



4.配置apt 工具
  使用命令sudo gedit /etc/apt/apt.conf 編輯apt 的配置檔案,如果下面內容不存在就新增如下內容:
  Acquire::http::proxy "http://localhost:5865/";
  Acquire::ftp::proxy "ftp://localhost:5865/";
  Acquire::https::proxy "https://localhost:5865/";  

5.route add default gw x.x.x.x 增加路由

6.export http_proxy="http://127.0.0.1:9003"

7.啟動main.py

8.apt-get 檢驗是否連線成功


因為公司的一個SP專案需要安裝一個Linux的計算機,我便自告奮勇的給那臺機器安了個Ubuntu,因為以前用的很順手。

但是這次是老革命遇到了新問題,因為Linux的系統遇到了Windows的ISA代理伺服器,域使用者名稱和密碼便無法使用,Ubuntu的更新便成立一件 非常頭痛的事情,我是用LiveCD裝的,雖然安裝完了,Desktop用著沒有任何問題,但是這是一臺工作機器,很多東西,如C庫,輸入法等都不在預設 安裝範圍,因此如果不能更新,無疑該Ubuntu便和玩具差不多了。

昨天回來一頓猛搜,還真有不知道的哥們碰到過這個問題,林林總總的解決方法幾乎只有一個。那就是需要使用代理,但是有個例外那就是Firefox,使用域下面的使用者名稱和密碼就能上網,這隻能說Firefox這玩意兒太強悍。

下面介紹下,如何在AD域的情況下,順利更新Ubuntu吧。

工具名稱:NTLMauthorization Proxy Server v0.9.9
下載地址:http://ntlmaps.sourceforge.net/

它的工具原理是在本地機上開置一個類似代理伺服器(proxy-like)的程序,所有的代理請求經過它後就轉化為NT的代理,並向NT代理伺服器傳送請求。

下載之後,執行
$ tar -zxvf ntlmaps-0.9.9

找到server.cfg,修改它
[GENERAL]
LISTEN_PORT:5865 # 本機監聽埠
PARENT_PROXY:192.168.0.2 # ISA伺服器
PARENT_PROXY_PORT:8080 # ISA伺服器埠
PARENT_PROXY_TIMEOUT:15
ALLOW_EXTERNAL_CLIENTS:0
FRIENDLY_IPS:
URL_LOG:0
MAX_CONNECTION_BACKLOG:5
[CLIENT_HEADER]
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint,*/*
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
[NTLM_AUTH]
NT_HOSTNAME:192.168.0.2 # 主機名
NT_DOMAIN:demo-domain # 域
USER:test# ISA代理的使用者名稱
PASSWORD:test# ISA代理的密碼
LM_PART:1
NT_PART:0
NTLM_FLAGS: 06820000
NTLM_TO_BASIC:0
[DEBUG]
DEBUG:0
BIN_DEBUG:0
SCR_DEBUG:0
AUTH_DEBUG:0

配置完後儲存,啟動main.py:
# python main.py &

然後設定需要連線外網的工具的代理地址為127.0.0.1,埠為5865,即可連線外網。

使用新立得包管理的同學,可以更改設定裡面的代理伺服器,按照上面的填寫。

如果使用apt-getupdate的話需要執行
$ export http_proxy="http://127.0.0.1:5865"

OK,完成。希望這些東西能被baidu或者google收藏,以便更多在公司ISA代理下不能更新Ubuntu的同學查閱到。

公司安裝了ISA伺服器,Ubuntu 無法通過 ISA  代理更新軟體.即無法使用apt-get在命令列下更新軟體

1.如果只是單純上網的話,很簡單.

(1)我們直接preference-->networkproxy裡找到代理

設定好就行了。

可以參考下圖:

(2)在命令列下輸入route add default gw10.***.***.***新增預設的網管就可以在瀏覽器上網了。

如果是在火狐下上網只需Edit-->Preferrences-->Advance-->Settings裡面設定好代理,在命令列埠加入網管就可以直接上網了

2.公司安裝了ISA伺服器,Ubuntu 無法通過 ISA  代理更新軟體.

   解決方法:安裝ntlmaps

 (1)到此網站 http://pkgs.org/搜尋ntlmaps下載適合你的deb版本

 (2)  dpkg -i  *安轉剛剛下載的ntlmaps

 (3)cp/etc/ntlmaps/server.cfg  /usr/share/ntlmaps/

 (4)在啟動認證代理伺服器之前,首先要進行配置,設定代理伺服器msproxy的IP、埠資訊和ntlmaps的基本配置

          vi /usr/share/ntlmaps/server.cfg 或者gedit/usr/share/ntlmaps/server.cfg

          [GENERAL] #常規設定

          LISTEN_PORT:5865 #ntlmaps預設監聽埠,預設即可
          PARENT_PROXY:your_parentproxy #msproxy代理伺服器的IP地址
          PARENT_PROXY_PORT:8080 #msproxy代理伺服器埠,http一般是8080
           [NTLM_AUTH]
           NT_HOSTNAME:hostname #可選的主機名
           NT_DOMAIN:domainname #可選的NT伺服器域名
           USER: username#msproxy指定的使用者名稱,如沒有則空白即可
           PASSWORD: password#msproxy需要的密碼,空白即可,自動提示輸入

 (5)/usr/share/ntlmaps/main.py啟動後臺 啟動後不能關掉

 (6)exporthttp_proxy="http://127.0.0.1:9001"  本機IP與監聽埠與system---->preferences---->proxy設定相同

 (7)apt-getupdate 測試執行

第一種情況是非ISA伺服器代理的設定

方法一:

這是一種臨時的手段,如果您僅僅是暫時需要通過http代理使用apt-get,您可以使用這種方式。

在使用apt-get之前,在終端中輸入以下命令:

終端執行export http_proxy= "http://使用者名稱:密碼@代理IP:代理埠"

方法二:

這種方法要用到/etc/apt/資料夾下的apt.conf檔案。如果您希望只有apt-get(而不是其他應用程式)一直使用http代理,您可以使用這種方式。

注意:某些情況下,系統安裝過程中沒有建立apt配置檔案。下面的操作將視情況修改現有的配置檔案或者新建配置檔案。

      sudogedit /etc/apt/apt.conf   //打開了apt.conf配置檔案

‚       在您的apt.conf檔案中加入下面這行:

Acquire::http::Proxy “http://yourproxyaddress:proxyport”;

(注意:替換成自己的代理地址和埠號)

ƒ      儲存apt.conf檔案。

方法三:

這種方法會在您的主目錄下的.bashrc檔案中新增兩行。如果您希望apt-get和其他應用程式如wget等都使用http代理,您可以使用這種方式。

      gedit~/.bashrc   //打開了.bashrc檔案

‚      在您的.bashrc檔案末尾新增如下內容:

(注意:替換成自己的代理地址和埠號)

http_proxy=http://yourproxyaddress:proxyport

export http_proxy

ƒ      儲存檔案。關閉當前終端,然後開啟另一個終端。

使用apt-getupdate或者任何您想用的網路工具測試代理。我使用firestarter檢視活動的網路連線。

如果您為了糾正錯誤而再次修改了配置檔案,記得關閉終端並重新開啟,否自新的設定不會生效。

      出現這個問題的原因可能是有另外一個程式正在執行,導致資源被鎖不可用。而導致資源被鎖的原因,可能是上次安裝時沒正常完成。

解決方法:輸入以下命令

sudo rm/var/cache/apt/archives/lock

sudo rm/var/lib/dpkg/lock

之後再安裝想裝的包,即可解決

‚      ubuntu在更新源的時候,突然出現以下錯誤:

[1]+Stopped                 sudo apt-getupdate

[email protected]:~$sudo apt-get update

E: Couldnot get lock /var/lib/apt/lists/lock - open (11: Resource temporarilyunavailable)

E:Unable to lock the list directory

就是用 sudo apt-get update,發現報錯,答案如下:

問題應該是之前那個更新被強制取消的問題,程序仍然還在。用這個命令檢視一下:

ps -e |grep apt  //檢視程序

顯示結果如下:

6934 ?00:00:00 apt-get

7368 ?00:00:00 synaptic

然後就執行

sudokillall apt-get  //殺掉程序

sudokillall synaptic

再次在終端裡檢視ps -e | grep apt 沒有任何結果了

繼續執行sudo apt-get update,此時就可以更新了。

原因:剛裝好的Ubantu系統,內部缺少很多軟體源,這時,系統會自動啟動軟體源更新程序“apt-get”,並且它會一直存活。由於它在執行時,會佔用軟體源更新時的系統鎖(以下稱“系統更新鎖”,此鎖檔案在“/var/lib/apt/lists/”目錄下),而當有新的apt-get程序生成時,就會因為得不到系統更新鎖而出現"E: 無法獲得鎖 /var/lib/apt/lists/lock - open(11: Resource temporarily unavailable)"錯誤提示!因此,我們只要將原先的apt-get程序殺死,從新啟用新的apt-get程序,就可以讓新立德軟體管理器正常工作了!

這時,你可以按以下步驟來解決:

1、輸入以下命令:“ps-aux  > temp.txt”.敲回車確定。這時會有“warning”出現,但不予理會。

2、輸入以下命令:“grep-n apt-get temp.txt”鍵入回車確定。而後從命令輸出中找到 apt-get 程序的PID。

3、輸入以下命令:“sudokill <PID>”。

4、完成。

or

如果提示錯誤:E: Could not get lock /var/lib/dpkg/lock - open (11 Resourcetemporarily unavailable)

輸入

sudo rm/var/lib/apt/lists/lock


相關推薦

linux代理上網設定

第一種情況是ISA伺服器代理的設定 ubuntu12.04環境 ,如果公司用的是isa伺服器,可能設定就稍微有些麻煩了,起初我也是在網路上查找了很久,終於找出了正確的方法: 瀏覽器上網就不用說了,直接開啟火狐瀏覽器的首選項,設定代理上網就可以了,當想用終端install

linux 代理伺服器的設定 squid

安裝 環境:CentOS,Linux mss 2.6.18-128.el5PAE #1 SMP Wed Jan 21 11:19:46 EST 2009 i686 i686 i386 GNU/Linux 直接通過rpm包安裝squid,提示: warning: squid-

linux為git設定臨時代理

linux下為Git設定代理 git config --global http.proxy http://proxy.com:1234   git config --global https.proxy http://proxy.com:1234   git config --global http

linux export只能設定臨時變量

變量 還需 報錯 設定 linu mina pytho rmi 系統環境 今天在調用ABBYY的時候,需要傳遞APPID和APPPASSWD給系統環境才能夠執行相應的python調用代碼。 設置之後,因為寫代碼自己關掉了terminal,後面直接運行報錯,訪問權限不存在。以

Linux代理伺服器配置

1.安裝squid [[email protected] ~]# yum install squid -y 安裝: squid.x86_64 7:3.5.20-12.el7.x86_64.rpm

linuxjdk安裝設定

1. 解壓tar tar -xzvf 包名.tar.gz   2、配置jdk環境變數 vi /etc/profile   export JAVA_HOME=/home/jdk1.8.0_121 export PATH=$PATH:$JAVA_HOME/

Linux為命令設定別名的方法

               我們都知道,在管理和維護Linux系統的過程中,將會使用到大量命令,有一些很長的命令或用法經常被用到,重複而頻繁的輸入某個很長命令或用法是不可取的。這時可以使用 別名 功能將這個過程簡單化。Linu

Linuxmongodb已設定server自啟動,如何啟動資料庫客戶端

在設定自啟動情況下: I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProt 報錯,說是自啟動佔用埠

linux將檔案設定為swap

在網上弄了一臺VPS,結果安裝完系統發現沒有swap。因為記憶體比較小,沒有swap有時候容易卡死,於是打算設定一個檔案充當swap。以前幹過這事,不過因為一般裝系統時候會設,所以這功能基本用不到,漸漸也就忘了。今天又查了一下,記錄在此備忘。   先建立一個固定大小的檔案 sudo dd if

linux PPPOE撥號上網設定

1. 開啟應用程式選單,依次選擇附件 - 終端。  2.在彈出終端視窗後,輸sudo pppoeconf,輸入完成後回車。  3.然後會提示您輸入當前Ubuntu 管理員使用者的密碼,輸入完成後回車。  詢問你的網路裝置,一般選擇是,進行檢測,然後一直選擇是。  4.之後會

linuxpasswd命令設定修改使用者密碼

1、passwd 簡單說明; 我們已經學會如何新增使用者了,所以我們還要學習設定或修改使用者的密碼;passwd命令的用法也很多,我們只選如下的幾個引數加以說明;想了解更多,請參考man passwd或passwd --help ; passwd [OPTION...] passwd 作為普通使用者和超級許可

linuxrto的設定及rto測試

rto修改命令 sudo ip route change 172.16.100.0/24 dev eth0 rto_min 5 (單位預設ms) rto測試   1、編寫socket網路程式測試,客戶端一直向服務端傳送資料(測試客戶端的rto),在客戶

linux利用curses設定終端顏色顯示例項

/*************************************************************** *gcc curses.c -o curses -lcurses *[email protected]@20140113 *http:

linux為分割槽設定label

linux下用e2label命令來設定分割槽的label,其用法很簡單: e2label 分割槽 [新label] 如果後面指定新label則為分割槽設定新label;如果後面不指定label,則顯示分割槽的當前label 其man手冊 E2LABEL(8)    

Linux使用alias設定命令別名

有時候在linux下執行一條命令過長,挺麻煩的,我們可以在.bashrc檔案下設定alias,對命令設定簡短的別名,相當於縮短命令,方便操作。 1.設定別名 alias 別名=’原命令 -選項/引數’ 例如: alias ll='ls -lt' 這樣設

linux為mysql設定使用者名稱和密碼

還有,輸mysql可以,輸mysql -u root就出錯了: Access denied for user 'root'@'localhost' (using password: NO). The reason is: 是昨日更新ROOT密碼時出錯 update user

2011-02-20 19:17 Arm Linux如何儲存設定的系統時間

問:Linux下如何儲存設定的系統時間? 答:分以下步驟進行: (1)通過開發板控制檯設定開發板的當前系統時間: date [MMDDhhmm[[CC]YY][.ss]] 例如: date 010410462008 (2)將系統時間寫入RTC: hwclock -w 讀出檢

linux為java設定正確的時區

       公司新裝的測試環境,發現報表上顯示的時間比正常時間差了8個小時,檢查了一下系統時間,發現設定完全正確,這就很奇怪了;        後來想到因為系統中使用的時間型別是timestamp型別,所以會有時區的問題,當時區設定有問題的時候就會發生檢視當前時間設定正確

linuxcore檔案設定與檢視

程式異常退出時,核心會生成一個core檔案(是記憶體映像以及除錯資訊)。可以通過使用gdb來檢視core檔案,指示出導致程式出錯的程式碼所在的檔案和行數。  1、檢視系統中core檔案生成的開關是否開啟     1)使用ulimit -c命令可檢視core檔案的生成開

Linuxgo的設定方法

一 需要設定項 1、有4個環境變數需要設定:GOROOT、GOPATH、GOBIN,以及PATH 2、需要設定到某一個profile檔案中(~/.bash_profile)或(/etc/profile) 二 環境變數設定 1、GOROOT:該環境變數的值為Go語言的當前安裝目錄,執行: [[email&#