内网服务器通过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,一经查实,立即删除!

相关文章

Python项目开发实战,图像网站下载,案例教程编程实例课程详解

Python项目开发实战中,图像网站下载是一个既实用又充满挑战的项目。这类项目不仅能够帮助开发者掌握Python编程的基本技能,还能深入理解网络爬虫、图像处理、数据存储等高级技术。 一、项目背景与目标 在数字化时代,图像作为信息传递的重要载体,广泛应用于广告、设计、教育…

扩展欧几里得c++

扩展欧几里得c 裴蜀&#xff08;贝祖&#xff09;定理扩展欧几里得求解递归代码 裴蜀&#xff08;贝祖&#xff09;定理 法国数学家艾蒂安裴蜀&#xff0c;对任何整数a、b和它们的最大公约数d若a,b是整数,且gcd(a,b)d&#xff0c;那么对于任意的整数x,y,axby都一定是d的倍数一…

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

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

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

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

Linux服务监控自动巡检脚本--推送钉钉告警

1. 编写服务监控自动巡检脚本 [rootlocalhost ~]# cat /opt/port_monitor_alarm_by_dingding.sh #!/bin/bash# 定义需要监控服务对应的端口列表 port_list"3308 1242 35690 65500 10410"# 定义接收通知的钉钉机器人的 Webhook URL webhook_url"https…

【题解】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 单文件上传和多文件上传地址都要改成自己的外网访问地址

文本语言的上升沿写法

通过两个上升沿来调用不用的程序 def trap1(): global stn1 stn1 True 将全局变量stn1置True def trap2(): global stn2 stn2 True 将全局变量stn2置True pre_sig get_standard_digital_out(0) pre_sig2 get_standard_digital_out(1) while True: sig get_standard_…

Android帧布局的概念与属性

帧布局&#xff08;FrameLayout&#xff09;顾名思义就是将控件一层一层叠在一起&#xff0c;像视频的帧一样&#xff0c;一层叠一层&#xff0c;如图所示&#xff0c;帧布局中BUTTON叠在ImageView之上。帧布局常见的属性见表1。帧布局中的控件可以使用android:layout_gravity&…

c语言alpha-beta剪枝六子棋

c语言Alpha-Beta剪枝算法六子棋[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2i5w8kc1-1720756528545)(https://i-blog.csdnimg.cn/direct/464b9db7d6384a63ab8c3213efff0e99.png)] 1.介绍 Alpha-Beta剪枝算法是一种用于优化博弈树搜索的算法&…

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中的图形化调试四、高级…

setContentView 流程

setContentView 流程 Activity -> setContentView 开发者设置入口PhoneWindow -> setContentView mWindow 在 attach 时初始化为 PhoneWindow&#xff0c;同时PhoneWindow也是Window唯一的实现类PhoneWindow -> installDecor 这一步的作用是 初始化DecorView, 把Deco…

leetcode704.二分查找

给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 示例 1: 输入: nums [-1,0,3,5,9,12], target 9 输出: 4 解释: 9 出现…

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 自定义抽象类简单举例

在Qt中自定义一个抽象类通常涉及定义一个基类&#xff0c;该类包含至少一个纯虚函数&#xff0c;从而使其成为抽象类。以下是一个简单的例子&#xff0c;展示了如何创建一个自定义的抽象类及其派生类。 首先&#xff0c;我们定义一个名为Shape的抽象类&#xff0c;它有一个纯虚…

win10 A4000 下使用Xinference来进行大模型的推理测试

创建环境 conda remove --name xinference --all conda create --name xinference python3.10 conda activate xinference 安装&#xff1a; conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia pip install tiktoken sentence-transformer…