searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

linux系统上网代理

2023-05-30 08:04:54
30
0

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-getaptitude命令、git命令、wget命令,这些程序都使用http_proxyftp_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安装源。如果可以的,这步可忽略。

[root@localhost test]# lsb_release -a
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
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.7 (Tikanga)
Release:        5.7
Codename:       Tikanga
[root@localhost test]# cd /etc/yum.repos.d/
[root@localhost test]# wget http://mirrors.163.com/.help/CentOS5-Base-163.repo

 

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

 
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-5 - Base - 163.com
baseurl=http://mirrors.163.com/centos/5/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#released updates 
[updates]
name=CentOS-5 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/5/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#packages used/produced in the build but not released
[addons]
name=CentOS-5 - Addons - 163.com
baseurl=http://mirrors.163.com/centos/5/addons/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=addons
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#additional packages that may be useful
[extras]
name=CentOS-5 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/5/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/5/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-5 - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/5/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5


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

sqlite-devel.i386                                                                            3.3.6-7                                                                   base     
sqlite-devel.x86_64                                                                          3.3.6-7                                                                   base     
squashfs-tools.x86_64                                                                        3.0-4                                                                     base     
squirrelmail.noarch                                                                          1.4.8-21.el5.centos                                                       base     
srptools.x86_64                                                                              0.0.4-10.el5                                                              base     
sssd.x86_64                                                                                  1.5.1-70.el5                                                              base     
sssd-client.i386                                                                             1.5.1-70.el5                                                              base     
sssd-client.x86_64                                                                           1.5.1-70.el5                                                              base     
sssd-tools.x86_64                                                                            1.5.1-70.el5                                                              base

 

 

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

yum install squid


   安装完成后, cd  /etc/squid/ 目下, 修改squid.conf 文件中的内容,修改之前, 可以先备份该文件:
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 代理

[root@localhost squid]# squid -k parse
[root@localhost squid]# 
[root@localhost squid]# 
[root@localhost squid]# squid -z
2014/07/22 14:43:01| Creating Swap Directories
[root@localhost squid]# 
[root@localhost squid]# 
[root@localhost squid]# service squid start
Starting squid:                                            [  OK  ]
[root@localhost squid]# 
[root@localhost squid]# 
[root@localhost squid]# 
[root@localhost squid]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      4341/portmap        
tcp        0      0 0.0.0.0:3128                0.0.0.0:*                   LISTEN      22862/(squid)       
tcp        0      0 0.0.0.0:792                 0.0.0.0:*                   LISTEN      4426/rpc.statd

 

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

export http_proxy=http://192.168.3.171:3128


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

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

 

 

0条评论
0 / 1000
l****n
5文章数
0粉丝数
l****n
5 文章 | 0 粉丝
原创

linux系统上网代理

2023-05-30 08:04:54
30
0

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-getaptitude命令、git命令、wget命令,这些程序都使用http_proxyftp_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安装源。如果可以的,这步可忽略。

[root@localhost test]# lsb_release -a
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
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.7 (Tikanga)
Release:        5.7
Codename:       Tikanga
[root@localhost test]# cd /etc/yum.repos.d/
[root@localhost test]# wget http://mirrors.163.com/.help/CentOS5-Base-163.repo

 

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

 
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-5 - Base - 163.com
baseurl=http://mirrors.163.com/centos/5/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#released updates 
[updates]
name=CentOS-5 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/5/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#packages used/produced in the build but not released
[addons]
name=CentOS-5 - Addons - 163.com
baseurl=http://mirrors.163.com/centos/5/addons/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=addons
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#additional packages that may be useful
[extras]
name=CentOS-5 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/5/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/5/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-5 - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/5/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5


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

sqlite-devel.i386                                                                            3.3.6-7                                                                   base     
sqlite-devel.x86_64                                                                          3.3.6-7                                                                   base     
squashfs-tools.x86_64                                                                        3.0-4                                                                     base     
squirrelmail.noarch                                                                          1.4.8-21.el5.centos                                                       base     
srptools.x86_64                                                                              0.0.4-10.el5                                                              base     
sssd.x86_64                                                                                  1.5.1-70.el5                                                              base     
sssd-client.i386                                                                             1.5.1-70.el5                                                              base     
sssd-client.x86_64                                                                           1.5.1-70.el5                                                              base     
sssd-tools.x86_64                                                                            1.5.1-70.el5                                                              base

 

 

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

yum install squid


   安装完成后, cd  /etc/squid/ 目下, 修改squid.conf 文件中的内容,修改之前, 可以先备份该文件:
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 代理

[root@localhost squid]# squid -k parse
[root@localhost squid]# 
[root@localhost squid]# 
[root@localhost squid]# squid -z
2014/07/22 14:43:01| Creating Swap Directories
[root@localhost squid]# 
[root@localhost squid]# 
[root@localhost squid]# service squid start
Starting squid:                                            [  OK  ]
[root@localhost squid]# 
[root@localhost squid]# 
[root@localhost squid]# 
[root@localhost squid]# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      4341/portmap        
tcp        0      0 0.0.0.0:3128                0.0.0.0:*                   LISTEN      22862/(squid)       
tcp        0      0 0.0.0.0:792                 0.0.0.0:*                   LISTEN      4426/rpc.statd

 

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

export http_proxy=http://192.168.3.171:3128


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

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

 

 

文章来自个人专栏
杂项
5 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0