自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen

背景:目前PS5首次折腾必须要连外网,还要改DNS,除非使用ESP8266/32,
本文的方法是完全不改DNS,不使用ESP8266,不连接外网的情况下自动折腾

能实现什么:
1.折腾全程不连接外网
2.完全自建hen服务器,随时更新,无需重复刷写ESP8266固件
3.解决PKG浏览器首次打开锁地址,无法输入地址的问题
4.彻底屏蔽PS5升级
5.HEN后和局域网可用,可以继续使用NFS网盘和发送bin

解法: 搭建dnsmasq DNS服务器,全域名解析指向内网,搭配ngnix 反向代理所有域名到指定页面
技术栈:Docker + dnsmasq + Nginx

原理:
1.将PS5 的IP 不设置网关,或指向一个不存在的内网IP,这样就不可能上外网
2.自建内网HEN服务器,自建nginx重定向服务器-Docker
3.将PS5 的DNS设置为内网的自建DNS服务器,将所有请求解析转发到自己内网建置的HEN服务器
3.设置nginx,将访问PKG版浏览器的地址 重定向到HEN服务器

[hide]折腾的差不多了,是不是该折腾点家用服务器了![/hide]

--------------------------------------------正式开工--------------------------------------------------------------------------------
0.修改PSN5 IP 略,注意将网关设置为一个不存在的IP,如果你是用openwrt,想要DHCP方式获取特殊的IP和DNS,请修改路由器配置文件

config host
        option name 'ps5-pj'
        option dns '1'
        option ip '192.168.31.236'
        option tag 'ps5_hen'
        option dhcpv6 'disabled'
        option mac '5c:96:66:56:f2:ad'

自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen_第1张图片

1.DNS劫持,建立DNS服务器 :
为了图省事dnsmasq 直接拉的docker, 参考下面的配置文件,你如果有openwrt的路由器也可以直接使用,改配置文件即可,
这个镜像 jpillora/dnsmasq 带一个web修改配置文件界面,方便

version: "3.3"

services:
  dns-server:
    image: jpillora/dnsmasq
    container_name: dns-server
    restart: always
    environment:
      TZ: Asia/Shanghai
      HTTP_USER: admin
      HTTP_PASS: admin
      PORT: "5380"
    network_mode: "host"
    volumes:
      - /volume3/docker/dnsmasq/config/dnsmasq.conf:/etc/dnsmasq.conf:rw
    # 日志大小限制
    logging:
      driver: json-file
      options:
        max-size: "10m"

2.配置dnsmasq :

2.1 配置dnsmasq :

访问容器的5380端口,修改配置文件,重启服务
我们的目的是用户访问任意网址都去我们的网站,直接这一条就好了:

#所有域名
address=/#/192.168.31.232

如果要特定域名,比如PSGO或者其他PGK浏览器的IP地址,甚至彻底屏蔽升级,可以按下图设置
自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen_第2张图片

2.2 测试dnsmasq :
将自己电脑DNS改成你的DHCP服务器,使用浏览器访问任意网址测试下,或者直接nsloouo或者ping

nslookup www.baidu.com 192.168.31.192
  1. 安装nginx

安装ngnix是为了实现PS5 用户指南功能,他访问的是一个长链接,类似这样:
https://manuals.playstation.net/document/ct/ps5/index.html
如果直接转发域名,它携带的/document/ct/ps5/index.html传过去,就打不开了
就毕竟我们的伪站是没有这么多路径、虚拟目录,这就需要用到ngnix的反向代理了

为了省事还是用docker,参考下列配置:
用的jc21/nginx-proxy-manage 这个容器,web配置更方便了

version: '3'
services:
  app:
    image: 'dockerproxy.com/jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'  # 冒号左边可以改成自己服务器未被占用的端口
      - '82:81'  # 冒号左边可以改成自己服务器未被占用的端口
      - '443:443' # 冒号左边可以改成自己服务器未被占用的端口
    volumes:
      - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
      - ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
打开NPM的配置网站,就是81端口对应的那个,修改默认网站设置,先随便填写一个网站

然后打开配置文件直接修改为所有路径到HEN的网站:
一般是在容器的ngnix/data/nginx/default_host/site.conf 这个文件
直接修改为如下样式

# Default Site
# ------------------------------------------------------------

server {
  listen 80 default;
listen [::]:80 default;

  server_name default-host.localhost;
  access_log /data/logs/default-host_access.log combined;
  error_log /data/logs/default-host_error.log warn;

#将下面的链接,修改为局域网自动破解链接

  include conf.d/include/letsencrypt-acme-challenge.conf;
        location / {
    rewrite ^ http://192.168.31.192:84/900/02/index.html permanent;
}

}

自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen_第3张图片

找台电脑DNS设置为dnsmasq 的服务器,随便访问下任何网站,并携带路径测试,应该都能转发到目标网站

比如:

http://123/456
http://abc/def/123

如果先要劫持psgo或者特定PKG浏览器的,请按下图修改

4.自建hen服务器
下载HEN源码 https://github.com/ps5go/ps5go.github.io
参考下图和这篇文章:https://blog.csdn.net/wangrui1573/article/details/112347403
自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen_第4张图片
自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen_第5张图片

新建完成可以用https://IP:端口/测试下

4.修改客户端DNS
现在去PS5修改DNS为自建的dnsmasq,你也可以使用dhcp的option功能,让客户端自动获取不一样的dns

参考这篇文章:https://blog.csdn.net/wangrui1573/article/details/133270271

5.在PS5上测试用户指南
5.1 确保DNS正确
5.2 打开用户指南,信任证书,观察页面跳转和全自动破解
5.3 安装PKG版浏览器,信任证书,打开会发现自动重定向到内网hen服务器

6.网络安装
现在可以从NFS网络存储安装PKG,我们完全上面的设定后,PS5是有内网的,可以直接挂载NFS存储到本地安装
以后说不定能发展出类似 PS3netsrv这样的 网络文件夹方式

上两张图你们就懂了:

自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen_第6张图片
自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen_第7张图片
自建DNS劫持服务器,纯内网劫持PS5,屏蔽更新,自动hen_第8张图片

你可能感兴趣的:(服务器,运维)