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

一、背景

现在要对172.16.58.158服务器进行openssh升级操作,我用之前写好的升级脚本执行后,发现没有备份旧的ssh程序文件,然后还卸载了oenssl-devel,然后我发现其他服务器ssh该服务器失败。同时脚本执行时报错“ configure: error: *** zlib.h missing - please install first or check config.log ” 我查看这个错误需要安装openssl-devel和zlib相关的包,但是我这台服务器本身就不通外网,而且没有内网的yum源,scp和rz等命令都因为没有ssh已经用不了了。此时此刻,手已经开始抖了,我排查服务器表后,发现同一网段有一台172.16.58.52服务器可以ping通外网,也可从外网wget下载文件,命好,找到了一台通外网的服务器,因此想到了squid代理,做一个代理给内网服务器用,因此有了这篇文章。

二、操作

1、安装squid

172.16.58.52这台服务器能通外网,因此再这台服务器上进行安装
[root@fis xm]# ping www.baidu.com
[root@fis xm]# yum install -y squid
#cd到配置文件目录下
[root@fis xm]# cd  /etc/squid/
#备份原始配置文件
[root@fis xm]# cp squid.conf squid.conf_bak
#修改配置文件
[root@fis xm]# vi squid.conf
#将http_access deny all注释修改为http_access allow all
#http_access deny all
http_access allow all
# 修改端口为代理的端口
http_port 19191

2、启动squid

[root@fis xm]# squid -k parse          #检查语法是否错误
[root@fis xm]# squid -z    #初始化缓存空间
[root@fis xm]# service squid start && ss -lntp |grep 19191  #启动squid并检查19191端口是否开启

3、内网服务器配置

1、备份yum.repos.d目录下原来的repo文件
[root@i-kdscegtw yum.repos.d]#  mv ./*.repo /tmp/
2、打开profile文件,添加以下文件配置
[root@i-kdscegtw yum.repos.d]# vim /etc/profile
[root@i-kdscegtw yum.repos.d]# 
export http_proxy=http://172.16.58.52:19191
export https_proxy=http://172.16.58.52:19191
export no_proxy="127.0.0.1, localhost, 172.16.58.158,172.16.58.52"[root@i-kdscegtw yum.repos.d]#  source /etc/profile
3、因为使用yum和wget功能,所以还需要添加以下配置
[root@i-kdscegtw yum.repos.d]#  vim /etc/yum.conf
[main]
#无密码形式
proxy=http://172.16.58.52:19191
[root@i-kdscegtw yum.repos.d]# vim /etc/wgetrc
http_proxy=http://172.16.58.52:19191

三、squid配置密码(补充知识)

1、使用htpasswd工具,生成用户名密码。

[root@fis xm]# yum install httpd-tools
[root@fis xm]# htpasswd -c /etc/squid/squid_user ops_test
New password: ops
Re-type new password: ops
Adding password for user ops_test

2、修改文件属性

[root@fis xm]# chown squid /etc/squid/squid_users

3、修改squid配置文件/etc/squid/squid.conf,添加认证相关的配置

[root@fis xm]#  vim /etc/squid/squid.conf
# Insert your own rules here to allow access from your clients# http_access allow localhost 加注释,表示localhost也需要认证auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/squid_user
auth_param basic children 5
auth_param basic realm Proxy Authentication Required
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive onacl authUsers proxy_auth ops_test
http_access allow authUsershttp_access deny all[root@fis xm]#  systemctl restart squid  #修改外配置重启

3、内网服务器验证

使用curl测试Squid配置的用户名密码
不使用用户名密码认证,访问失败,返回401
curl https://www.baidu.com使用用户名密码认证,访问成功
curl -x http_proxy://ops_test:ops@172.16.58.52:19191 www.baidu.com
<!DOCTYPE html>
<!--STATUS OK-->

四、内网服务器上验证

1、在内网服务器上执行以下命令
因为第一步就已经移除掉了内网服务器yum.repos.d目录下的所有repo文件,因此,下载新的阿里云源repo文件
看是否能下载成功[root@i-kdscegtw yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo[root@i-kdscegtw yum.repos.d]# 
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
如下图1所示,wget下载文件成功,说明了内网服务器现在可以访问外网下载文件了。
如图2所示,yum命令执行也成功下载到了对应的文件

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/45890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人驾驶大热,新能源汽车智能化中的算网支持

来源新华社&#xff1a;百度“萝卜快跑”全无人驾驶汽车行驶在路上 当前&#xff0c;新能源汽车产业数智化已成为全球汽车产业数字化转型的焦点。一方面&#xff0c;随着人工智能、大数据、云计算等技术的深度融合&#xff0c;新能源汽车在自动驾驶、智能互联、能源管理等方面…

xmind梳理测试点,根据这些测试点去写测试用例

基本流&#xff08;冒烟用例必写&#xff09; 备选流 公共测试点&#xff1a;

【题解】42. 接雨水(动态规划 预处理)

https://leetcode.cn/problems/trapping-rain-water/description/ class Solution { public:int trap(vector<int>& height) {int n height.size();// 预处理数组vector<int> lefts(n, 0);vector<int> rights(n, 0);// 预处理记录左侧最大值lefts[0] …

GuLi商城-商品服务-API-品牌管理-OSS前后联调测试上传

服务端签名直传 这种方式文件上传不用走自己的服务器了 zhouyimo.oss-cn-beijing.aliyuncs.com 后端启动: nacos: 虚拟机启动:里面mysql自动启动 前端项目启动:npm run dev 单文件上传和多文件上传地址都要改成自己的外网访问地址

Minio搭建文件服务器的学习

MinIO是一个高性能的开源对象存储服务器&#xff0c;与Amazon S3兼容。它使用Go语言编写&#xff0c;可以在多种操作系统上运行&#xff0c;如Linux、MacOS和Windows等。MinIO的分布式特性使其能够轻松扩展存储容量和处理能力&#xff0c;满足大规模数据存储的需求。 使用Docke…

展望未来:在【PyCharm】中结合【机器学习】实现高效的图形化处理

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 文章目录 引言一、PyCharm简介与配置1.1 PyCharm基础1.2 图形化库配置 二、机器学习项目中的数据可视化2.1 数据加载与预处理2.2 数据探索性可视化2.3 模型训练与结果可视化 三、PyCharm中的图形化调试四、高级…

JAVASE 重点基础语法 - JAVA基础知识点复习(1)

目录 一&#xff0c;关键字 定义&#xff1a;被JAVA语言赋予了特殊的含义&#xff0c;来用来做专门用途的单词 关键字分类&#xff1a; 1&#xff0c;用于定义数据类型的关键字 2,用于定义流程控制的关键字 3,用于定义访问权限修饰符的关键字 4&#xff0c;用于定义类&am…

C++从入门到起飞之——缺省参数/函数重载/引用全方位剖析!

目录 1.缺省参数 2. 函数重载 3.引⽤ 3.1 引⽤的概念和定义 3.2 引⽤的特性 3.3 引⽤的使⽤ 3.4 const引⽤ 3.5 指针和引⽤的关系 4.完结散花 个人主页&#xff1a;秋风起&#xff0c;再归来~ C从入门到起飞 个人格言&#xff1a;悟已往之不谏…

MySQL学习笔记 下

MySQL学习笔记&#xff08;需接上篇&#xff09; 1. 通配符 用于替换字符串中的一个或多个字符&#xff1b;通配符常与LIKE关键字一起使用&#xff0c;用于搜索字段中的指定模式&#xff1b; 2. 别名 用于为表或表中的列提供临时名称&#xff1b; 别名用于为表或表中的字段…

【安装记录】:安装破解 ideaIU-2024.1.4

1、官网下载安装包&#xff1a; https://www.jetbrains.com/idea/download/?sectionwindows 2、按照下图操作&#xff1a; 然后&#xff0c;自定义重启即可 3、破解参考这篇文章&#xff1a;https://www.exception.site/article/1727

【QT】窗口MainWindow

目录 窗口的组成 菜单栏 图形化创建菜单栏 代码创建菜单栏 给菜单设置快捷键 添加子菜单 添加分割线 添加图标 创建menuBar的细节 工具栏 设置工具栏出现的初始位置&#xff08;上下左右&#xff09; 设置工具栏允许停靠的位置 设置不允许浮动 设置不允许移动…

提高使用安全,智慧校园在线用户功能概述

智慧校园系统融入了一个查看当前在线用户的功能&#xff0c;这一设计旨在为管理人员提供一个实时的窗口&#xff0c;洞悉校园平台的即时活跃情况&#xff0c;确保系统的高效运作与环境安全。通过这一功能&#xff0c;管理员能够一目了然地看到所有正活跃在平台上的用户群体&…

J026_统计投票人数

一、需求描述 统计投票人数 某个班级80名学生&#xff0c;现在需要组织秋游活动&#xff0c;班长提供了4个景点依次是&#xff08;A、B、C、D&#xff09;&#xff0c;每个学生只能选择一个景点&#xff0c;请统计出最终哪个景点想去的人数最多。 二、代码实现 package com…

【088】基于SpringBoot+Vue实现高校就业管理系统

系统介绍 基于SpringBootVue实现的高校就业管理系统 课程设计 大作业必备 基于SpringBootVue实现高校就业管理系统采用前后端分离的架构方式&#xff0c;系统分为管理员、企业、辅导员、学生四种角色&#xff0c;实现了用户登录、学生注册、商家注册、首页统计、个人信息管理、…

动手学深度学习(Pytorch版)代码实践 -注意力机制-Transformer

68Transformer 1. PositionWiseFFN 基于位置的前馈网络 原理&#xff1a;这是一个应用于每个位置的前馈神经网络。它使用相同的多层感知机&#xff08;MLP&#xff09;对序列中的每个位置独立进行变换。作用&#xff1a;对输入序列的每个位置独立地进行非线性变换&#xff0c…

备份及恢复Sonarqube服务数据

基础数据&#xff1a; 源数据机ip&#xff1a;192.*.53 测试机ip&#xff1a;192.*.65 Sonarqube访问地址&#xff1a;http://192.*.65:9000/ 账户名&#xff1a;admin 密码&#xff1a;123456 数据库postgres&#xff1a; 版本&#xff1a;PostgreSQL 15.3 一、数据备份…

AI写歌词,为你的音乐之旅添彩

在追求音乐梦想的道路上&#xff0c;每一个音符都承载着我们的情感与故事。而精彩的歌词&#xff0c;更是让这些音符焕发出耀眼光芒的关键。如今&#xff0c;AI 写词的出现&#xff0c;为我们的音乐之旅增添了绚丽的色彩。 “妙笔生词智能写歌词软件&#xff08;veve522&#…

JAVA自定义注释

interface 声明 package test; public interface InProgress { } InProgress public void calculateInterest(float amount, float rate) { } 带成员 public interface TODO {String value(); } InProgress //只有成员变量名有value时&#xff0c;值有给value赋值时可以这…

Spring Cloud Eureka

引入&#xff1a;远程调用时&#xff0c;url是写死的 String url "http://127.0.0.1:9090/product/" orderInfo.getProductId(); 解决思路&#xff1a; 比如&#xff08;医院&#xff0c;学校等&#xff09;机构的电话号码发生变化&#xff0c;就需要通知各个使⽤…

Android14系统应用统一裁剪方案

Android14系统应用统一裁剪方案 背景 当前移除集成到系统里的应用,一般都是根据应用名,到各个mk文件里逐个在PRODUCT_PACKAGES中删除;这种方法,耗时而且不易管理集成到系统里的应用;需要有一个统一管理删除不需要应用的方案。 方案 参考PRODUCT_PACKAGES变量,添加PRO…