原创思想,原创作品,仅供学习使用,不良后果与本人无关!!!!
我前面写过关于frp内网穿透实现在局域网搭建私服教程,那都只能访问自己搭建的web服务器,我想把自己私网服务器改作代理服务器,让我在外网不仅能访问自己的web站点,还能用自己web站点做跳板代理我们去访问私网服务器,你说牛不牛逼。
实际环境分析:
有很多大学生应该深有体会,比如我们学校的选课系统,就只能在校园网内选课,以前可以在外网访问到,据说是遭受黑客攻击后才关闭公网访问的,哈哈,但是,你学会了我今天这招,除非学校不能上网,不然照样可以黑掉xx,
VMware 12.0
centos7.4 虚拟机两台
vps服务器一台(cnetos7 本人用阿里云学生机)
win10笔记本
1、在centos7上安装nginx,略,我自己是编译安装的,这个自己搞定,后期我再写安装教程,节省篇幅
2、修改nginx主配置文件
vim /usr/local/nginx/conf/nginx.conf #根据自己情况而定
内容如下:
user nginx; #登录Nginx的用户
worker_processes 4; #主进程数,一半设为cpu核心数
worker_cpu_affinity 0001 0010 0100 1000;
#错误日志位置
error_log /usr/local/nginx/logs/error.log info;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
use epoll;
worker_connections 65535;
}
http {
include /usr/local/nginx/conf/mime.types; #加载支持的文件类型
default_type application/octet-stream; #没找到支持文件类型,默认以二进制流提示下载
#日志格式定义
log_format main '( $http_x_real_ip )- $remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" " $http_x_forwarded_for "';
sendfile on;
tcp_nopush off;
tcp_nodelay on;
keepalive_timeout 10;
#虚拟主机部分
include /usr/local/nginx/virtual/*.conf;
}
3、happy.com 虚拟主机配置如下:
vim /usr/local/nginx/virtual/happy.com.conf
server {
listen 80;
server_name www.happy.com;
charset utf-8;
access_log logs/host.access.log main;
location / {
root /data/web/happy.com; #站点家目录位置
index index.html ;
}
}
4、 在站点目录下创建index.html
echo "192.168.109.139 happy.com" >/data/web/happy.com/index.html
5、 命令
启动nginx:/usr/local/nginx/sbin/nginx
快速停止nginx:/usr/local/nginx/sbin/nginx -s stop;
优雅停止nginx(会将正在处理中的请求处理完毕):/usr/local/nginx/sbin/nginx -s quit;
重新加载配置:/usr/local/nginx/sbin/nginx -s reload;
6、 检查nginx是否工作正常
也可以使用 curl -I www.happy.com
1、搭建squid代理服务器
yum install squid
2、重点:设置dns服务器地址
意思是当用户通过squid代理上网时使用的dns解析,方便解析公司内网的www.happy.com
先修改squid主配置文件增加一个参数 /etc/squid/squid.conf
dns_nameservers 127.0.0.1
(1)安装软件包
yum install bind
yum install bind-utils
yum install bind-libs
(2)修改主配置文件
vim /etc/named.conf
options {
listen-on port 53 { 127.0.0.1; }; #保持默认就好
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; #这里改成any
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
#重点在区域解析,解析的域名地址
zone "happy.com." IN {
type master; #注意改成master
file "/var/named/happy.com.zone"; #使用哪个区域文件解析
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
(3) 创建区域文件 /var/named/happy.com.zone
[root@server-140 ~]# cat /var/named/happy.com.zone
$TTL 1D
@ IN SOA www.happy.com. www.happy.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS www.happy.com.
www A 192.168.109.139
(4)启动dns服务
systemctl start named
1、 首先到 frp 的 releases 页面下载最新版的对应 VPS 的处理器架构的压缩包https://github.com/fatedier/frp/releases
2、可以在主机上wget对应frp压缩包,也可以下载到本地用ftp工具(winscp)上传到云服务器
3、 tar -zxvf 解压对应压缩包
4、进入解压后的目录 frp_0.22.0_linux_amd64
5、编辑配置文件 vim frps.ini
[common]
#frp服务端与客户端连接端口,frps和frpc必须一致
bind_port = 7000
#下面参数设置与否都没关系,上面设置好就行
#服务端外部提供的web端口
#vhost_http_port = 8080
# 仪表盘端口,只有设置了才能使用仪表盘(即后台)
dashboard_port = 7500
保存退出,
6、启动服务端
./frps -c frps.ini 后台启动为./frps -c frps.ini &
表示启动完成
1、同样下载frp压缩包到本地服务器
2、 解压frp压缩包
3、编辑vim frpc.ini 配置文件
[common]
server_addr = 阿里云主机公网ip
server_port = 7000 #与frp服务端通信端口
[www]
type = tcp
local_ip = 127.0.0.1
local_port = 3128 #阿里云6000端口数据转发到本地3128端口
remote_port = 6000 #让阿里云主机开启6000端口转发
启动服务
./frpc -c ./frpc.ini
手机端测试
必须在wifi的高级设置那里设置
如果公司web服务器没有域名就不用搭建dns服务器,配置文件也不用加dns_nameservers 127.0.0.1,我这里使用虚拟环境搭建出来的,如果你想真的入侵内网,买个树莓派,将树莓派搭建成squid服务器,连上内网,一切就完成了,squid功能很多,不仅支持http还支持ftp等等,像Apache和nginx代理功能是不能满足要求的,她们的反向代理更不用说,只适合自己搭建集群使用。我这个和隧道很相似,但是有区别 ,这就的自己体会了,有疑问欢迎联系我