嗯...在公司内网某个机子部署了个服务,现在在内网访问时通过 10.0.38.123 这样的地址访问,外网访问是跑了个 FRP 穿透服务,通过 abc.com:8088 这样访问的。
因为是给办公室几十个人用的,请问有办法让用户在内网访问时,也能输入域名走局域网流量么。 这样不用让用户区分好几个地址,内外网使用时速度也能更高效..
ps.我们公司上网是得手动设置 ip dns 这些。所以是不是我没法再自己再部署 DNS 了
嗯...在公司内网某个机子部署了个服务,现在在内网访问时通过 10.0.38.123 这样的地址访问,外网访问是跑了个 FRP 穿透服务,通过 abc.com:8088 这样访问的。
因为是给办公室几十个人用的,请问有办法让用户在内网访问时,也能输入域名走局域网流量么。 这样不用让用户区分好几个地址,内外网使用时速度也能更高效..
ps.我们公司上网是得手动设置 ip dns 这些。所以是不是我没法再自己再部署 DNS 了
|
alvin666Jan 21, 2019 via Android
1
|
|
29EtwXn6t5wgM3fDJan 21, 2019 via iPhone
2
自建 dns 吧 转发 dns 解析到现在使用的 dns
|
|
fetichJan 21, 2019
3
NAT Loopback
|
|
jiaxin1121Jan 21, 2019
4
修改 host
|
|
vyronleeJan 21, 2019 via iPhone
5
zerotier
|
|
dengshuangJan 21, 2019 via Android
6
dns 欺骗
|
|
7
|
|
BOYPTJan 21, 2019
8
域名指向个外网网页,载入时候 jQuery 尝试加载内网地址,超时就跳转你的业务外网地址,加载成功就跳转业务内网地址。
|
|
CallMeReznovJan 21, 2019
9
内网机器全部 DNS 指向你的路由器 然后在路由器上写一条你自定义的 DNS 指向你的 IP 即可
|
|
10
@CallMeReznov 老哥 您是说自己做 DNS 设置么。我目前暂时没有权限动公司的 DNS 服务器....
|
|
chinvoJan 21, 2019 via iPhone
11
公司内部部署 DNS 服务器,全公司机器统一设置内网 DNS (比如通过加域
|
|
12
@BOYPT 嗯嗯嗯 老哥您这也是个很好的解决办法了。不过我还有移动端.....移动端是填写服务地址进入 app 的,这样就不好搞了吧
|
|
CallMeReznovJan 21, 2019
13
@iriddle911 #10 私架个 WIFI 然后在 WIFI 里的自定义 DNS 里添加一个记录指向你的 IP
|
|
14
再给大家说下 公司 DNS 我暂时没法动。网管也不给改.......
|
|
15
@CallMeReznov emm 那台式机是不是就没办法了
|
|
shuangJan 21, 2019
16
dns 动不了,那就搞个 http 代理吧,通过代理改映射。每个人在自己的终端上设置下代理 ip 及端口
|
|
35koreaJan 21, 2019 via Android
17
启动时。用户自己选,内网,还是外网
|
|
35koreaJan 21, 2019 via Android
18
有个 cdn 软件 fikker 解析时有个轮询功能,不知道能否利用
|
|
wweirJan 21, 2019 via Android
19
出个损招,首页加串代码,尝试内网地址地址。
成功就来个 302,不成功就 pass。 缺点是域名始终没法统一 |
|
C2GJan 21, 2019 via Android
20
手动设置 IP 和你手动设置 dns 有什么关系...找个路由器,搭建 dnsmasq,上层路由填你们公司原来那个,在 dnsmasq 里面设置 abc.com→内网地址,然后把电脑 dns 改成路由器 IP,这种方法即使你们公司只允许访问原有的 dns 也没有问题。
|
|
alvin666Jan 21, 2019 via Android
21
楼上尝试的,timeout 至少要两三秒吧,或者自己手动 500ms 的 timeout ?那也难受
我建议就是反代服务器也开在 80,然后 dns 内网外网都设置上,浏览器会逐个尝试,选择能通的,亲测还挺快 |
|
aruJan 21, 2019
22
web 服务器可以通过用户请求的 header 中的 X-Forwarded-For 和 X-Real-IP 来获取用户真实 IP。
如果你们公司的出口 IP 是固定地址,那么访问 abc.com:8088 直接跳转到内网访问地址即可( nginx 或应用中判断都行) |
|
SylvJan 21, 2019 via iPhone
23
可以通过内网路由配置 dnsmasq 实现:
address=/abc.com/10.0.38.123 |
|
zwh2698Jan 21, 2019 via Android
24
配置个路由简单方便
|
|
zwh2698Jan 21, 2019 via Android
25
看错忽略上一条
|
|
wps353Jan 21, 2019
26
内网路由器 DNS 劫持
|
|
zhouzmJan 21, 2019
27
正好之前做过,说一下我的办法:
1. 公司 dns 服务器不让动,你可以在服务器上自己建一个,推荐 overture,用 docker 建的话很方便。hosts_sample 里直接加内网 ip 对外网域名就可以,上级 dns 服务器填公司 dns 服务器。办公室人员电脑 dns 设置为你建的服务器。 2. 在服务器上用 nginx 做反向代理,把 abc.com:8088 反代到 内网 ip:内网端口,另外配合三级域名,一个 8088 端口可以提供多个不同的服务。 这样就可以实现内外网都访问 abc.com:8088,外网走外网流量,内网走内网流量 |
|
oott123Jan 21, 2019 via Android
28
有个比较离奇的办法:像 21 楼说的那样,你自己的域名内网、外网 ip 都解析(两条记录,同等优先级);同时在转发服务器上拦截来自内网 ip 的请求(防火墙,直接 drop 掉),这样也许好使…
|
|
edsion996Jan 21, 2019
29
做一个导航页挂在外网,然后一个外网入口、一个内网入口——解决记好几个地址的困扰。
或者,公司的出口 IP 一般是固定的几个,在程序上判断,然后做个 301 跳转 |
|
30
|
|
dot2017Jan 21, 2019
31
内网放个 2 级 dns 不就好了。。。简单的问题变复杂
|
|
aruJan 21, 2019
32
|
|
mhycyJan 21, 2019
33
FRP+Nginx 反代,域名解析到外网 IP
内网使用 ROS 之类的路由,劫持全网 DNS 请求,由 ROS 的 DNS 提供内网地址 |
|
defunct9Jan 21, 2019
34
dnsmasq
|
|
liuxyonJan 21, 2019
35
我用 bgp,自己 ip 内部直连
|
|
hquuJan 21, 2019 via iPhone
36
内网直接改 host 文件 或者改路由 iptables
|
|
zhouyut001Jan 21, 2019
37
内网 dnsmasq 指向内网 IP,外网直接访问
|
|
mingl0280Jan 22, 2019
38
内网的 dns 服务器指向内网 ip 就行了,实在没有 dns 服务器访问权限的话改 hosts 也行,我用这个手段避免了批量部署下去的 Ubuntu 和 debian 的更新流量跑到外网去……内网上架了个 dns,架了个 apache2 的源服务器,更新直接请求内网服务器就行了。
|
|
hanbaobao2005Jan 22, 2019
39
|
|
40
结贴了~最终使用 nginx 根据访问 ip 分配不同 url 解决
谢谢各位的热心帮助~~~ |
|
haiyuleeApr 24, 2019 via Android
41
楼主,我也想做相同的操作,有几个问题不明白
不同的 url 具体是怎么写的? 服务器是只在内网环境有一台吧? 域名解析出来都是指向反代服务器吗? 还有很多具体的问题,能分享下 nginx 的配置文件吗? |
|
42
@haiyulee
1. 在 nginx 里配置,就是根据来源 ip 分配不同的域名,这个你搜索一下,网上挺多; 2. 这样操作需要有一台公网服务器,阿里云什么的; 3. 解析是这样,访问 www.abc.com ,此时解析至公网的反代服务器,然后这时由 nginx 判断,如果来源是内网,那么直接跳转内网地址,如果来源是非内网,那么就走跳转的服务。 |