在Linux终端下使用代理访问网络

时间:2021-12-21 17:02:26

有些局域网环境上网需要使用代理上网,图形界面的很好解决就设置一下浏览器的代理就好了,但是linux纯命令行的界面就需要手动配置了。

一、使用wget命令进行代理访问

wget非常强大,支持代理设置,代理可以在环境变量或wgetrc文件中设定

方法1:当前环境变量设置

#export PROXY=http://219.239.66.253:80/
这样,就可以使用wget进行代理下载*网络了。
不过,这种环境变量设置只对当前环境有效,重启后设置将消失。

方法2:wget配置文件设置

#vi /etc/wgetrc
ftp_proxy = http://219.239.66.253:80/
http_proxy = http://219.239.66.253:80/
https_proxy = http://219.239.66.253:80/ (注意:无引号”")

方法3:wget命令行参数中设置

wget支持-e参数来进行代理设置
#wget -e “http_proxy=http://[username]:[password]@proxyip:port/” “http://www.baidu.com”
其中,-e, –execute=COMMAND   执行`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc记录和输入文件

二、在环境变量中进行代理设置

主要是在/etc/profile文件中环境变量设置代理(机器重启后代理设置效果不在消失)。

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

ftp_proxy=222.47.26.12:8888
http_proxy=222.47.26.12:8888
https_proxy=222.47.26.12:8888
no_proxy=192.168.95.20
export ftp_proxy
export http_proxy
export https_proxy
export no_proxy

添加完后重启系统即可。这时所有的网络连接均通过代理来联网。

实例:[root@localhost ~]# wget “www.blogger.com”
–2011-09-06 07:29:17–  http://www.blogger.com/
Connecting to 222.47.26.12:8888… connected.
Proxy request sent, awaiting response… 200 OK
Length: 81 [text/html]
Saving to: `index.html’

100%[====================================>] 81          –.-K/s   in 0s

2011-09-06 07:29:17 (7.72 MB/s) – `index.html’ saved [81/81]

三、部分网站不走代理

如果要全局用户使用应用于所有的Shell,就需要修改 /etc/profile 文件

# vi /etc/profile  
在文件中添加以下配置

http_proxy=proxy.abc.com:8080  
https_proxy=$http_proxy
ftp_proxy=user:password@proxy.abc.com:8080
no_proxy=*.abc.com,10.*.*.*,192.168.*.*,*.local,localhost,127.0.0.1
export http_proxy https_proxy ftp_proxy no_proxy

其中
http_proxy:http协议使用代理服务器地址;
https_proxy:https协议使用安全代理地址;
ftp_proxy:ftp协议使用代理服务器地址;
user:代理使用的用户名;
password:代理使用用户名的密码;
proxy.abc.com:代理地址,可以是IP,也可以是域名;
8080:使用的端口;
no_proxy:不使用代理的主机或IP。

        保存退出,注销重新登陆系统即可生效。

        此方法只适合配置http代理,使用socket代理上网的另有其他配置方法。