linux代理设置

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里加上类似下面的话:

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,那么应该这样设置这两个环境变量:

export http_proxy=http://easwy:123456@192.168.1.1:8080 
export ftp_proxy=http://easwy:123456@192.168.1.1:8080

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

source ~/.bashrc

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

[ subversion的代理服务器配置 ]

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

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>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • k8s1.5.2的安装

    KUBE_API_ADDRESS="--insecure-bind-address=172.16.138.101" 也可改成0.0.0.0比较危险

    孙杰
  • oracle中delete drop truncate的用法和区别

          数据库的运维中,经常会遇到delete drop truncate的操作,那么如何去把握它们的用法和区别呢?

    孙杰
  • 关于私有云与存储风向的深度解读

    题记:我们处在一个剧烈变化的时代,必须要急速地跟上时代的步伐。这就需要勇敢地驾驭着变化的浪潮,奋勇前进,拥抱变化全新出发。 2018年是不平凡的一年,IT业界风...

    孙杰
  • html网页任意点击位置跳转到新链接并保留原网页的代码

    window.location = 'http://qzy178.com/';

    取之盈
  • 测试网站页面网速的一个简单Python脚本

    无聊之余,下面分享一个Python小脚本:测试网站页面访问速度 [root@huanqiu ~]# vim pywww.py #!/usr/bin/python...

    洗尽了浮华
  • 推荐一款移动端的web UI控件 -- mobiscroll

    用mobiscroll 可实现ios系统自带的选择器控件效果,支持几乎所有的移动平台(iOS, Android, BlackBerry, Windows Ph...

    meteoric
  • HDU-5984-Pocky

    ACM模版 描述 ? 题解 这场比赛的期望概率成分好高,挺不顺手。 不过这个题的代码倒是很简单,强势猜公式推结论。 image.png 代码 #include ...

    f_zyj
  • 1102 A-B数对

    题目描述 出题是一件痛苦的事情! 题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的A+B Problem,改用A-B了哈哈! 好吧,题目是这样的:给出一串数以及...

    attack
  • JavaScript编写高质量的68个有效方法

    Tiffany_c4df
  • 关于广告

    一、如何学习Android android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具。...

    bering

扫码关注云+社区

领取腾讯云代金券