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

有关树莓派连外网的问题

  •  
  •   WeissP · 2020-03-06 04:33:47 +08:00 · 2530 次点击
    这是一个创建于 1723 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

    请各位大大指教。

    第 1 条附言  ·  2020-03-06 16:39:48 +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 的选项吗 :(
    9 条回复    2020-03-06 15:53:14 +08:00
    ftfunjth
        1
    ftfunjth  
       2020-03-06 04:47:22 +08:00 via Android   ❤️ 1
    1 查出来是公有 ip,但你不一定能从外网访问到你的树莓派,运营商可能帮你做了一层 NAT,在国内访问树莓派,需要确保你的公有 ip 不变,路由器需要开启 DNAT,转发到你树莓派在路由器的的私有网段的 ip。
    2 有些运营商公有 ip 分配可以保持三天,类似于我这里的。
    3 租服务器的意思类似于 nat123 这种的,具体原理你可以查一查。
    vk42
        2
    vk42  
       2020-03-06 05:07:08 +08:00   ❤️ 1
    你要是在美帝的话那大概率 ISP 是分配公网 IP 给你的,你得登你的路由器确认一下。
    如果确认了有公网 IP,注册个 DDNS,路由器上开个端口映射( ss 不太清楚,搭过 wg 的)
    nvkou
        3
    nvkou  
       2020-03-06 05:40:58 +08:00   ❤️ 1
    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
        4
    WeissP  
    OP
       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
        5
    xmoiduts  
       2020-03-06 07:22:07 +08:00 via Android
    1,廉价路由器有公网 ip:
    a 找个 ddns 网站,比如 freemyip 注册一下,路由器定时发请求上报自己分到的 ip。
    b 路由器开端口转发 /dmz (后者风险大点) 或者直接把树莓派插在入户网口上。

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

    3 租服务器中转,例如 frp,实质上是你连接中转服务器,中转服务器再连接树莓派。不需要树莓派有外网 ip/配置了端口转发规则。这种情况下你是不知道你家这些设备的存在的。 根据你提到的树莓派用途,除非你要看的网站封机房 ip,否则这个做法没啥意义,有中转服务器了为什么还要加个“回家”节点?
    还可以试试 zerotier,无需公网 ip。厂商自带中转 /搭桥服务器。
    fancy111
        6
    fancy111  
       2020-03-06 09:44:31 +08:00
    3 楼基本是对的,如果不是公网 IP,那就做内网穿透。
    wanguorui123
        7
    wanguorui123  
       2020-03-06 13:40:03 +08:00
    1,向运营商申请动态公网 IP (安装监控) -> 在路由器或树莓派启动 DDNS 服务(花生壳注册免费域名之类的) -> 路由器开启端口映射
    2,没有公网 IP 可以买花生壳官方提供的花生棒或者搭建 FRP
    julyclyde
        8
    julyclyde  
       2020-03-06 15:44:33 +08:00
    2 不保证不变,而不是确保一定会变
    windyland
        9
    windyland  
       2020-03-06 15:53:14 +08:00 via Android
    实际上并不建议自行搭建,家宽的线路基本上没有对中国优化路由,真正有需要还是建议购买 gia 的服务器
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:50 · PVG 18:50 · LAX 02:50 · JFK 05:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.