有关树莓派连外网的问题

2020-03-06 04:33:47 +08:00
 WeissP

首先本人对网络知识非常匮乏,若是闹了笑话请别介意 : )

最近在折腾树莓派,想起以前 ss 都是租服务器搭建的,这次想用树莓派实现(因为现在在国外,到时候回国了可以用)。

目前手里的设备的话,一台 linux 一台树莓派,路由器就是房东给的廉价路由。

按照在服务器搭 ss 的方法在树莓派搭好后,还需要外网 ip。然后问题就来了:

  1. 我用 curl ifconfig.me 查出来的 ip 应该是路由器的 ip 吧?但路由器内部的所有设备都是用的这个 ip 的话,在外部如何分辨呢,也就是说,如果我想在国内访问树莓派,应该怎么做呢?

  2. 顺带问一下,看网上都说外部 ip 是会经常变化的,但为啥我这几天查到的 ip 都是一样的呢?

  3. 在网上找解决办法的时候,有人说可以通过租服务器进行中转,得到外部 ip。貌似需要用到端口转发,但我没太搞懂应该从什么端口转发到什么端口。

请各位大大指教。

2550 次点击
所在节点    问与答
9 条回复
ftfunjth
2020-03-06 04:47:22 +08:00
1 查出来是公有 ip,但你不一定能从外网访问到你的树莓派,运营商可能帮你做了一层 NAT,在国内访问树莓派,需要确保你的公有 ip 不变,路由器需要开启 DNAT,转发到你树莓派在路由器的的私有网段的 ip。
2 有些运营商公有 ip 分配可以保持三天,类似于我这里的。
3 租服务器的意思类似于 nat123 这种的,具体原理你可以查一查。
vk42
2020-03-06 05:07:08 +08:00
你要是在美帝的话那大概率 ISP 是分配公网 IP 给你的,你得登你的路由器确认一下。
如果确认了有公网 IP,注册个 DDNS,路由器上开个端口映射( ss 不太清楚,搭过 wg 的)
nvkou
2020-03-06 05:40:58 +08:00
1 的问题. 你查询到的就是在 ifconfig.me 眼里 你的 IP 是什么. 如果这个 IP 与你路由器获取的外网 IP 一致: 恭喜,你分配到了公网 IP. 这也是你发布任何服务的第一步. 至于从路由器到你树莓派这一步. 需要做 2 件事,
1.1 在路由器设置静态 IP 绑定.确保你树莓派重启或 dhcp 租约过期等情况不会变化内网 IP.
1.2 在路由器设置端口转发. 比如你酸酸乳监听本地 IP(即 1.1 的绑定 IP 如 192.168.0.3)的 1080 端口. 那么你需要将路由器的一个端口(如:9527)映射到监听 IP 的 1080. 确保发送到路由器这个端口的 tcp 数据包会自动转发到内网的这个 IP 这个端口. 即 访问路由的 9527 等效于访问内部树莓派的 1080.

2 的问题. 如果是美国的话,很大概率分配的是公网 IP. 这个 IP 在一定时间内是静态的.取决于运营商的设置, 如果你经常挂 bt,他们是会换你 IP 的. 如果你想杜绝 IP 变化的问题. 让你的树莓派定时发送邮件通知你它的外网 IP 就是.

3 的问题. 建议先了解下端口转发.网上说的是国内的情况. 国内运营商给你的是大内网 IP 的情况.如果 1 的问题里确认了你获取的就是公网 IP 则那些教程没有参考意义.
WeissP
2020-03-06 06:34:31 +08:00
感谢各位的回复,本以为我睡觉前不会有人回的(所以你们如果在国内的话,到底是睡了还是没睡 😂)。我看了眼我路由器的设置,在 port forwarding 选项中,第一行写了 “Remark: Gateway is in DS-Lite mode. Always check external IPv4 address and assigned port as these may change. Up to 16 port forwarding rules are supported. “ 。然后后面就是 ipv6 的转发了,而且我尝试去增加规则时,发现选项只有 mac 地址、start/end port 和 tcp/udp 协议,并没有 ip 选项,所以我这个路由器是没有 ipv4 的选项吗 :(
xmoiduts
2020-03-06 07:22:07 +08:00
1,廉价路由器有公网 ip:
a 找个 ddns 网站,比如 freemyip 注册一下,路由器定时发请求上报自己分到的 ip。
b 路由器开端口转发 /dmz (后者风险大点) 或者直接把树莓派插在入户网口上。

2 各个运营商不一样,你在国外的话 ip 资源一般充足 他们懒得限制你太多。

3 租服务器中转,例如 frp,实质上是你连接中转服务器,中转服务器再连接树莓派。不需要树莓派有外网 ip/配置了端口转发规则。这种情况下你是不知道你家这些设备的存在的。 根据你提到的树莓派用途,除非你要看的网站封机房 ip,否则这个做法没啥意义,有中转服务器了为什么还要加个“回家”节点?
还可以试试 zerotier,无需公网 ip。厂商自带中转 /搭桥服务器。
fancy111
2020-03-06 09:44:31 +08:00
3 楼基本是对的,如果不是公网 IP,那就做内网穿透。
wanguorui123
2020-03-06 13:40:03 +08:00
1,向运营商申请动态公网 IP (安装监控) -> 在路由器或树莓派启动 DDNS 服务(花生壳注册免费域名之类的) -> 路由器开启端口映射
2,没有公网 IP 可以买花生壳官方提供的花生棒或者搭建 FRP
julyclyde
2020-03-06 15:44:33 +08:00
2 不保证不变,而不是确保一定会变
windyland
2020-03-06 15:53:14 +08:00
实际上并不建议自行搭建,家宽的线路基本上没有对中国优化路由,真正有需要还是建议购买 gia 的服务器

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/650264

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX