天翼云上实现线下专网用户间接访问互联网需求

本文介绍了如何在DC机房服务器无法直接接入互联网的情况下,利用天翼云服务器作为中介,通过云专线连接实现访问互联网。提出了两种实现方案:一是使用nginx的正向proxy功能,优点是性能高但不支持白名单;二是采用专业的squid代理服务器,配置简单且支持白名单管理。详细阐述了两个方案的安装、配置及测试过程。
摘要由CSDN通过智能技术生成

一、用户需求

一个用户提出本地DC机房中的服务器需要访问互联网认证资源,但是DC的安全策略限制无法直接接入互联网,希望电信可以通过天翼云服务器实现间接访问互联网,本地服务器与与天翼云服务器之间使用云专线连接。

二、组网拓扑

拓扑说明:本地服务器地址为10.37.1.1与天翼云vpc专网服务器10.37.6.50可以通过云专线打通实现ip访问,10.37.6.50可以通过安装配置程序实现用户10.37.1.1访问指定互联网网站的业务需求。

三、实现方案一nginx的正向proxy功能

1、优点

性能高,速度快,

2、缺点

不专业,不能实现whitelist功能

3、步骤

yum install gcc gcc-c++ autoconf automake -y
yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
yum install patch -y
yum install git -y
yum install net-tools -y

mkdir -p /downloads
cd /downloads
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xzvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
patch -p1 < /downloads/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch
./configure --add-module=/downloads/ngx_http_proxy_connect_module
make && make install
nginx安装编译完毕后开始修改nginx配置文件

vi /usr/local/nginx/conf/nginx.conf

在http配置段落中加入下面内容,将8081端口做http转发,8082端口做https转发

server {  
    resolver 114.114.114.114; 
    listen 8081;  
    location / {  
        proxy_pass http://$http_host$request_uri;
        proxy_set_header HOST $http_host;
        proxy_buffers 256 4k;
        proxy_max_temp_file_size 0k; 
        proxy_connect_timeout 30;
        proxy_send_timeout 60;
        proxy_read_timeout 60;
        proxy_next_upstream error timeout invalid_header http_502;
    }  
}

server {
     listen                         8082;
     # dns resolver used by forward proxying
     resolver                       114.114.114.114;
     # forward proxy for CONNECT request

     proxy_connect;
     proxy_connect_allow            443 563;
     proxy_connect_connect_timeout  10s;
     proxy_connect_read_timeout     10s;
     proxy_connect_send_timeout     10s;

     # forward proxy for non-CONNECT request

     location / {
         proxy_pass http://$host;
         proxy_set_header Host $host;
     }
 }
 

配置修改完成后,启动nginx即可

测试方法:

curl --proxy 10.37.6.50:8081 http://www.baidu.com

curl --proxy 10.37.6.50:8082 https://www.baidu.com

 

四、实现方案二--专业软件squid实现

1、优点

安装配置简单,可以实现whitelist功能

2、缺点

没发现

3、安装配置

yum install squid

systemctl enable squid

systemctl start squid

vi /etc/squid/squid.conf

在配置文件中加入下面的两行内容

acl whitelist dstdomain "/etc/squid/whitelist.txt"

http_access allow whitelist
然后配置/etc/squid/whitelist.txt文件,在文件中加入允许访问的网站即可

vi /etc/squid/whitelist.txt

www.baidu.com

4、测试

curl --proxy 10.37.6.50:8081 https://www.baidu.com

测试白名单

curl --proxy 10.37.6.50:8081 https://news.163.com

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值