恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 270|回复: 7

群晖域名添加域名解析后,内部无法访问

[复制链接]
发表于 2022-7-8 20:51 | 显示全部楼层 |阅读模式
本帖最后由 aloneblood 于 2022-7-8 21:00 编辑

各位大神,请教一个问题

我在群晖(192.168.31.10) 中的虚拟机里装了一个openwrt作为旁路由(192.168.31.2) 启用了DHCP ,小米路由器做为主路由(192.168.31.1) 并关闭了DHCP ,在小米里添加 端口映射 外网5757 到内网的群晖192.168.31.10 443 端口
这样之后,我在外网可以通过访问 https://nas.hostname.com:5757 来访问nas, 所有的手机APP中也全部设置成了https://nas.hostname.com:5757 并且正常连接。

当在家里WIFI环境中的时候,也可以,但我突发其想,我直接把域名解析到192.168.31.10, 这样就可以不经过互联网,局域网请求更快。

然后我就添加了一条解析
iShot_2022-07-08_20.51.11.jpg
之后 通过 nslookup nas.hostname.com 也能看到请求 到了192.168.31.10,
但是当我访问 https://nas.hostname.com:5757 的时候,却看到以下错误信息,当然,访问  https://nas.hostname.com 是可以正常访问的

麻烦的是,我总不能去更改手机APP中的连接,把端口号5757 删除掉吧,这样就太麻烦了,离开WIFI 后又得加回5757端口
iShot_2022-07-08_20.49.11.jpg
有什么办法 可以把 内网的对于 192.168.31.10:5757端口号请求转发到 192.168.31.10的 443端口 吗?

我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-9 03:11 | 显示全部楼层
以前也弄过这样的方式,各种不方便。最后还是直接在openwrt跑caddy或者nginx做代理转发完事,不管是在局域网还是在外网都是直接用域名访问。

补充一下:
caddy的优点是自动更新域名证书,缺点是openwrt要跑2个web服务端、内存占用也比较大。
nginx优点是完美替代uhttpd,缺点是需要多安装一个组件去更新域名证书、内存占用也比较大。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-9 07:03 | 显示全部楼层
内网环境下
wget https://nas.hostname.com:5757/   看一下,看看提示的错误信息是什么。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-9 07:10 | 显示全部楼层

或者,可以登录群晖的ssh,
在INPUT链增加一条端口转发的iptables规则,
把到本机5757端口的数据转发到80端口…

大致是
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-9 07:16 | 显示全部楼层
大致是

iptables -I INPUT -p tcp --dport 5757 -j  --port 80

格式不一定对,大概就是这意思,你试试吧。

点评

尝试了一下,基础太差 sysctl -w net.ipv4.ip_forward=1 iptables -t nat -A PREROUTING -p tcp --dport 5757 -j DNAT --to-destination 192.168.31.10:443 iptables -t nat -A POSTROUTING -p tcp -d 192.168.  详情 回复 发表于 2022-7-9 10:40
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-7-9 10:10 | 显示全部楼层
@99010 我使用了nginx 代理的方式可以了
server {
    listen 5757;
    server_name nas.hostname.com;

    location / {
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_pass         "https://192.168.31.10:443";
    }
}
接下来去看一下iptables 怎么弄
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-7-9 10:40 | 显示全部楼层
gaze 发表于 2022-7-9 07:16
大致是

iptables -I INPUT -p tcp --dport 5757 -j  --port 80

尝试了一下,基础太差
sysctl -w net.ipv4.ip_forward=1

iptables -t nat -A PREROUTING -p tcp --dport 5757 -j DNAT --to-destination 192.168.31.10:443
iptables -t nat -A POSTROUTING -p tcp -d 192.168.31.10 --dport 443 -j SNAT --to-source 192.168.31.2
iptables -I FORWARD -d 192.168.31.10 -p tcp --dport 443 -j ACCEPT
iptables -I FORWARD -s 192.168.31.10 -p tcp --sport 443 -j ACCEPT
不知道哪里有问题,还是不行,还是先用nginx 转发吧
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-7-9 11:48 | 显示全部楼层
aloneblood 发表于 2022-7-9 10:40
尝试了一下,基础太差
sysctl -w net.ipv4.ip_forward=1

它这个是进入本机的tcp数据,
所以要修改INPUT链上的规则,
不用去改动其他的链条,,,

不过nginx分流也是可以的,
负载不会比iptables大很多的。
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-8-13 19:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

| 江苏省互联网有害信息举报中心 举报信箱:js12377@jschina.com.cn 举报电话:025-88802724 | 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797
快速回复 返回顶部 返回列表