我想知道如何在家庭网络之外访问我的 Raspberry Pi。我可以通过 WIFI 上的 SSH 隧道在内部进行 VNC,但我无法在外部进行。这与端口转发和动态 DNS 有关吗?提前致谢。
答案1
你应该在你的家用路由器上检查端口转发
将会有一个表,其中包含主机、端口和一些描述的条目。
要完成此操作:1.通过查看路由器的 WAN 地址来检查您的 IP 地址。
在路由器配置/端口转发上,将所有请求转发到端口 22 ssh 到您的 RPI 的 IP 地址。
要测试这一点,只需 ssh 到步骤 1 中的地址,如果一切正常,那么您将获得用户名提示。
有时您的 WAN IP 会发生变化,因此,如果您希望它永久存在,您应该注册一个域名,然后注册 dynDNS 服务,这样您就可以将您的域名指向他们的 DNS 服务器,您将从 DYNDNS 获得一个密钥,该密钥允许您每 2-3 分钟运行一次脚本,在 DYNDNS 上更新您的实际 WAN IP,以便当 ISP 更改您的地址时,他们可以正确解析您的地址。
如果你在 22 端口打开 RPI,我强烈建议你加强 RPI 的安全性,安装 BlockHost 或任何这些阻止 IP
答案2
我最近读了一篇很好的文章,正好符合您的要求。您可以在此处找到该文章: http://lifehacker.com/5978098/turn-a-raspberry-pi-into-a-personal-vpn-for-secure-browsing-anywhere-you-go
答案3
RaspBMC
例如,如果您使用,所有外部访问默认都被阻止。您可以更改此设置:
只需编辑此文件:
sudo nano /etc/network/if-up.d/secure-rmc
发现这一行:
logger -t iptables "Configuring ip tables for interface $IFACE"
if [ "$IFACE" != "lo" ]; then
NETMASK=$(get_subnet $IFACE)
iptables -A INPUT -s $NETMASK -i $IFACE -j ACCEPT
iptables -A INPUT -i $IFACE -j DROP
fi
并添加:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
就在之前:
iptables -A INPUT -i $IFACE -j DROP
退出、保存并重新启动。如果要打开所有端口 => 您可以注释掉记录器行和所有 if 语句。对于其他端口,只需更改22