首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Coding
V2EX  ›  问与答

Openwrt 有办法将域名劫持到内网 IP:端口吗

  •  
  •   tyhunter · 42 天前 · 1115 次点击
    这是一个创建于 42 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在内网用 PVE 部署了一台黑裙,IP 地址是 192.168.1.12:5000,同时在 openwrt 上配置了 frp,域名为:dsm.xxxx.com ( nginx 反代二级域名到 5000 端口),现在想在家时访问 dsm.xxxx.com 自动跳转到 192.168.1.12:5000 避免 frp 还要消耗一波流量,但是搜了下好像只能用 hosts 的方法劫持域名到 IP,没法劫持域名到 IP:端口的形式,请教下大佬,该怎么操作
    14 回复  |  直到 2019-11-03 19:46:23 +08:00
        1
    Raynard   42 天前
    ddns+端口转发
        2
    natsji   42 天前 via Android
    用 dns
        3
    Chauncey09   42 天前 via Android
    我在家都是直接用内网地址访问的。。
        4
    mt7620   42 天前
    dsm.xxxx.com 域名指定到路由器 ip,然后路由器上做个端口转发 80 -> 192.168.1.12:5000。
        5
    tyhunter   42 天前
    @Raynard 没有公网 IP...只能用 frp 了
    @Chauncey09 我还要兼顾外网访问,相当于要收藏两个地址
    @mt7620 感谢,我先去试试这个思路
        6
    ochatokori   41 天前 via Android
    dsm.xxxx.com 解析到 192.168.1.12
    用 nginx 做反代(80 反到 500 )就行了啊
        7
    ysc3839   41 天前 via Android   ♥ 1
    劫持到 192.168.255.233 这种一般不会用到的网段,再到防火墙设置里加个端口转发的规则。
        8
    tyhunter   41 天前
    @ysc3839 请教下大佬,如何才能用 iptables 做端口转发?
    我现在内网还在群晖上跑了个 emby,端口是 8096,已经在 openwrt 的 hosts 里将 emby.xxxx.com 劫持到 192.168.1.222
    我用下面的自定义防火强规则,但是貌似没起作用
    iptables -t nat -A PREROUTING -d 192.168.1.222 -p tcp -m tcp--dport 80 -j DNAT --to-destination 192.168.1.12:8096
    iptables -t nat -A POSTROUTING -d 192.168.1.12 -p tcp -m tcp--dport 8096 -j SNAT --to-source 192.168.1.222
        9
    ysc3839   41 天前
    @tyhunter 不能用同一网段的,这样的话会走以太网协议直接发到目标设备。
    另外建议使用 OpenWrt 自带的防火墙设置端口转发。
    luci 里面这样设置:

        10
    ysc3839   41 天前
    另外,最好能在目标设备上配置,因为少了一层转发。如果是不同的 HTTP 服务需要使用相同端口 (80, 443),也可以使用 nginx。
        11
    tyhunter   41 天前
    @ysc3839 我在折腾下,谢谢大佬解答
        12
    Osk   41 天前
    我觉得可以这样:

    openwrt 上 dnsmasq 内网劫持 dsm.xxx.com dns 到内网另一个 ip 上。
    然后该内网服务器上 nginx/light httpd 什么的 80 端口的做个静态页面。
    页面中通过 js 判断 window.location.host 的域名,如果是 dsm.xxx.com ,js 就来个跳转。

    相当于该页面帮你完成跳转。。。
        13
    MonoLogueChi   41 天前 via Android
    openwrt 里面应该可以自己设定 DNS,我用的 koolshare 编译的固件,有 DHCP/DNS 设定,可以自己定义 hosts。至于端口转发,在防火墙选项里可以设置。

    其实没必要做端口转发的在群晖里面搞个 Nginx 反向代理也是可以的
        14
    duoguo   40 天前
    dnsmasq 将域名指向 ip。
    群晖如果你没开启网站和相册这类的应用的话,访问 IP:80 端口自动跳到 ip:5000 端口。至少我的黑群晖是这样
    如果 80 端口备用了,自己做个跳转就好了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2352 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 10:08 · PVG 18:08 · LAX 02:08 · JFK 05:08
    ♥ Do have faith in what you're doing.