前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux代理设置

linux代理设置

作者头像
孙杰
发布2019-10-29 14:34:31
8.9K0
发布2019-10-29 14:34:31
举报
文章被收录于专栏:云技术+云运维云技术+云运维

http代理

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

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

 1 # vi /etc/profile 

在文件中添加以下配置  

1 http_proxy=proxy.abc.com:8080  2 https_proxy=$http_proxy   3 ftp_proxy=user:password@proxy.abc.com:8080  4 no_proxy=*.abc.com,10.*.*.*,192.168.*.*,*.local,localhost,127.0.0.1  5 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代理上网的另有其他配置方法。

常用linux程序配置代理服务器的方法:

[ 通用代理服务器配置 ]

对于大多数Linux控制台程序,例如Debian或Ubuntu中的apt-get和aptitude命令、git命令、wget命令,这些程序都使用http_proxy和ftp_proxy环境变量来获取代理服务的配置。

方法是在你的~/.bashrc里加上类似下面的话:

代码语言:javascript
复制
export http_proxy=http://username:password@proxyserver:port/
export ftp_proxy=http://username:password@proxyserver:port/

如果你的代理服务器需要用户名和密码才能访问,需要填写上面的username和passwd部分,否则的话,省略这两部分。

例如,假设你的代理服务器为192.168.1.1,端口是8080,用户名为easwy,密码是123456,那么应该这样设置这两个环境变量:

代码语言:javascript
复制
export http_proxy=http://easwy:123456@192.168.1.1:8080 
export ftp_proxy=http://easwy:123456@192.168.1.1:8080

这样配置之后,退出再登录一次,或者直接使用下面的命令source一下.bashrc:

代码语言:javascript
复制
source ~/.bashrc

现在,上述程序就可以通过代理服务器访问网络了。

[ subversion的代理服务器配置 ]

要配置subversion的代理服务器,需要修改$HOME/.subversion/servers文件,在此文件的[global]段加上:

代码语言:javascript
复制
http-proxy-host = 192.168.1.1
http-proxy-port = 8080 
http-proxy-username = easwyhttp-proxy-password = 123456

现在svn就可以使用代理服务器访问版本库了。

[ yum的代理服务器配置 ]

如果想让CentOS中的yum可以通过代理服务器更新程序,则需要修改文件/etc/yum.conf,在此文件中加上:

proxy=http://easwy:123456@192.168.1.1:8080

现在使用yum就可以更新你的软件了

内网机器访问外网走代理

公司一般出于安全考虑, 在同一局域网中只有一台机器可以访问外网,运维进行了整体的限制, 但是在后面的工作中,需要在机器上安装一些软件,及命令,所以其他的机器需要访问外网来简化工作, 但又不能打乱原有运维的设置,所以需要在能访问外网的机器上做个代理。

第一步、二步都是在能访问外网的机器上操作, 第三步是在不能访问外网机器上操作。 1、检查机器      在操作中发现访问外网的机器本身不能使用yum 安装软件,故需要配置yum安装源。如果可以的,这步可忽略。

[html] view plain copy

  1. [root@localhost test]# lsb_release -a  
  2. LSB Version:    :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch  
  3. Distributor ID: RedHatEnterpriseServer  
  4. Description:    Red Hat Enterprise Linux Server release 5.7 (Tikanga)  
  5. Release:        5.7  
  6. Codename:       Tikanga  
  7. [root@localhost test]# cd /etc/yum.repos.d/  
  8. [root@localhost test]# wget http://mirrors.163.com/.help/CentOS5-Base-163.repo  

 中间 wget 所获取的文件,需要将$releasever 修改为 5

[html] view plain copy

  1. # CentOS-Base.repo  
  2. #  
  3. # The mirror system uses the connecting IP address of the client and the  
  4. # update status of each mirror to pick mirrors that are updated to and  
  5. # geographically close to the client.  You should use this for CentOS updates  
  6. # unless you are manually picking other mirrors.  
  7. #  
  8. # If the mirrorlist= does not work for you, as a fall back you can try the   
  9. # remarked out baseurl= line instead.  
  10. #  
  11. #  
  12. [base]  
  13. name=CentOS-5 - Base - 163.com  
  14. baseurl=http://mirrors.163.com/centos/5/os/$basearch/  
  15. #mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os
  16. gpgcheck=1
  17. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5  
  18. #released updates   
  19. [updates]  
  20. name=CentOS-5 - Updates - 163.com  
  21. baseurl=http://mirrors.163.com/centos/5/updates/$basearch/  
  22. #mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=updates
  23. gpgcheck=1
  24. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5  
  25. #packages used/produced in the build but not released  
  26. [addons]  
  27. name=CentOS-5 - Addons - 163.com  
  28. baseurl=http://mirrors.163.com/centos/5/addons/$basearch/  
  29. #mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=addons
  30. gpgcheck=1
  31. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5  
  32. #additional packages that may be useful  
  33. [extras]  
  34. name=CentOS-5 - Extras - 163.com  
  35. baseurl=http://mirrors.163.com/centos/5/extras/$basearch/  
  36. #mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=extras
  37. gpgcheck=1
  38. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5  
  39. #additional packages that extend functionality of existing packages  
  40. [centosplus]  
  41. name=CentOS-5 - Plus - 163.com  
  42. baseurl=http://mirrors.163.com/centos/5/centosplus/$basearch/  
  43. #mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=centosplus
  44. gpgcheck=1
  45. enabled=0
  46. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5  
  47. #contrib - packages by Centos Users  
  48. [contrib]  
  49. name=CentOS-5 - Contrib - 163.com  
  50. baseurl=http://mirrors.163.com/centos/5/contrib/$basearch/  
  51. #mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=contrib
  52. gpgcheck=1
  53. enabled=0
  54. gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5  

  yum clean all  清除原有缓存   yum list           获取yum列表   如果出现列表数据如下这种表示设置成功

[html] view plain copy

  1. sqlite-devel.i386                                                                            3.3.6-7                                                                   base       
  2. sqlite-devel.x86_64                                                                          3.3.6-7                                                                   base       
  3. squashfs-tools.x86_64                                                                        3.0-4                                                                     base       
  4. squirrelmail.noarch                                                                          1.4.8-21.el5.centos                                                       base       
  5. srptools.x86_64                                                                              0.0.4-10.el5                                                              base       
  6. sssd.x86_64                                                                                  1.5.1-70.el5                                                              base       
  7. sssd-client.i386                                                                             1.5.1-70.el5                                                              base       
  8. sssd-client.x86_64                                                                           1.5.1-70.el5                                                              base       
  9. sssd-tools.x86_64                                                                            1.5.1-70.el5                                                              base  

2、安装squid squid介绍及其简单配置     前面准备好yum命令, 可以直接在线安装

[html] view plain copy

  1. yum install squid  

   安装完成后, cd  /etc/squid/ 目下, 修改squid.conf 文件中的内容,修改之前, 可以先备份该文件:

[html] view plain copy

  1. cp squid.conf squid.conf_bak  

  然后找到 文件中的 http_access deny all   将其修改为 http_access allow all  表示所有用户都可以访问这个代理,   还有找到  http_port 3128  修改为  http_port 192.168.3.171:3128  这里的IP及端口是 squid的代理IP及端口,   该IP是能访问外网机器的IP地址,如果是本机,则可以不用修改该地址, 下面启动squid 代理

[html] view plain copy

  1. [root@localhost squid]# squid -k parse  
  2. [root@localhost squid]#   
  3. [root@localhost squid]#   
  4. [root@localhost squid]# squid -z  
  5. 2014/07/22 14:43:01| Creating Swap Directories  
  6. [root@localhost squid]#   
  7. [root@localhost squid]#   
  8. [root@localhost squid]# service squid start  
  9. Starting squid:                                            [  OK  ]  
  10. [root@localhost squid]#   
  11. [root@localhost squid]#   
  12. [root@localhost squid]#   
  13. [root@localhost squid]# netstat -nltp  
  14. Active Internet connections (only servers)  
  15. Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name     
  16. tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      4341/portmap          
  17. <span style="color:#ff0000;">tcp        0      0 0.0.0.0:3128                0.0.0.0:*                   LISTEN      22862/(squid)  </span>
  18. tcp        0      0 0.0.0.0:792                 0.0.0.0:*                   LISTEN      4426/rpc.statd  

3、配置不能访问外网的机器代理    在其他有需要访问外网的内网机器上设置其访问外部网络的代理机器

[html] view plain copy

  1. export http_proxy=<span style="color:#ff0000;">http://192.168.3.171:3128</span>

export的效力仅及于该此登陆操作,非全局,详细内容可参考:linux环境变量 export命令详解

   这样就可以让不能访问外部网络的内网机器通过可以访问外网的机器做为代理访问到外部网络,来方便安装一些软件,命令等操作。

4、测试

     在配置的内网机器上执行:curl www.baidu.com,出现以下内容即访问网络成功:

[html] view plain copy

  1. [cosw@platdevsxyd01 ~]$ curl www.baidu.com  
  2. <!DOCTYPE html>
  3. <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge>
  4. <meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css>
  5. <title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档