Linux内网服务器通过代理访问外网服务器

目录

一、环境介绍

二、安装squid

三、配置代理

扩展一、JAVA应用通过代理访问外网

扩展二、通过nginx代理实现yum跳转

扩展三、代理harbor镜像方式访问


一、环境介绍

192.168.7.131可以通外网

192.168.7.129不通外网

需要通过代理的方式实现192.168.7.129可以访问外网

二、安装squid

 1、在192.168.7.131主机(可以访问外网)使用yum安装squid

yum -y install squid

  2、编辑/etc/squid/squid.conf配置文件

 默认端口为3128,可根据实际需求更改

 3、启动squid服务并实现开机自启

systemctl start squid

systemctl enable squid

三、配置代理

1、在不通外网的主机192.168.7.129进行测试curl www.baidu.com

2、在/etc/profile中添加以下内容

[root@jh-newa-node09 ~]# tail -2 /etc/profile
export http_proxy=http://192.168.7.131:3128
export https_proxy=https://192.168.7.131:3128
[root@jh-newa-node09 ~]# source /etc/profile

3、配置后再次测试

扩展一JAVA应用通过代理访问外网

bin/setenv.sh文件中添加

-Dhttp.proxyHost=192.168.7.131 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=192.168.7.131 -Dhttps.proxyPort=3128 

扩展二、通过nginx代理实现yum跳转

1、在通外网的主机上配置nginx

#nginx配置文件中添加如下参数,暴露本机的8082 8083端口,将请求转发至mirrors.aliyun.com
[root@ecs-37b3-0729076 ~]# vim /etc/nginx/nginx.conf
    server {
        listen       192.168.7.131:8083;
        server_name  mirrors.cloud.aliyuncs.com;

        location / {
          proxy_pass  http://mirrors.aliyun.com;
          # index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

}
    server {
        listen       192.168.7.131:8082;
        server_name  epel.com;

        location / {
          proxy_pass http://mirrors.aliyun.com;
          # index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

}
[root@ecs-37b3-0729076 ~]# systemctl start nginx

2、在不通外网主机/etc/yum.repos.d/目录下替换yum源

[root@jh-newa-node09 ~]# cd /etc/yum.repos.d/
[root@jh-newa-node09 yum.repos.d]# ls
CentOS.repo  epel-7.repo  repo
[root@jh-newa-node09 yum.repos.d]# sed -i s/mirrors.aliyun.com/192.168.7.131:8083/g CentOS.repo
[root@jh-newa-node09 yum.repos.d]# sed -i s/mirrors.aliyun.com/192.168.7.131:8082/g epel-7.repo

3、测试:

[root@jh-newa-node09 yum.repos.d]# yum  -y install squid

扩展三、代理harbor镜像方式访问

1、确保外网主机到镜像仓库网络可达

 2、内网主机docker配置文件中添加如下参数

mkdir  /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.7.131:3128"
Environment="HTTPS_PROXY=http://192.168.7.131:3128"
systemctl daemon-reload
systemctl restart docker

3、测试:

### 搭建小型服务器并配置外网访问 #### 选择合适的操作系统和硬件设备 对于构建能够支持外部网络访问的小型服务器而言,选择适当的操作系统至关重要。通常情况下,Linux发行版如Ubuntu Server或CentOS是较为理想的选择,因为它们具备良好的稳定性、安全性以及丰富的社区资源和支持[^1]。 #### 安装必要的服务端应用 为了使服务器具有处理HTTP请求的能力,需在其上部署Web服务器软件。Apache HTTP Server是一个广泛使用的选项,它易于安装且兼容性强;而对于Java应用程序,则可选用Tomcat作为Servlet容器来承载JSP页面和其他基于Java的技术栈开发的应用程序。 #### 配置防火墙规则允许外部连接 确保系统的防火墙设置已调整至允许来自Internet的流量进入指定的服务端口(例如80用于HTTP,443用于HTTPS)。这一步骤可通过编辑iptables规则或者利用UFW(Uncomplicated Firewall)工具完成操作,在不影响内部网络安全性的前提下开放特定端口给外界访问[^2]。 #### 实现内网穿透以提供公网可达性 当物理位置处于NAT(Network Address Translation)之后时,直接暴露真实IP地址可能不可行。此时借助第三方平台提供的内网穿透解决方案变得尤为重要。Cpolar与Ngrok都是流行的选择之一,前者专注于简化TCP/IP协议层面转发过程而后者更侧重于WebSocket通信方式的支持。按照官方文档指导完成客户端安装后启动相应进程即可建立从公有云到私有局域网内的安全通道[^3]。 ```bash # 启动cpolar进行内网穿透示例 ./cpolar tcp 8080 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值