标签: tunneling

租用 IPv4 地址块

作为学校项目的一部分,我正在构建一个包含大约 10 个虚拟路由器和 20 台主机(也已虚拟化)的实验室网络。目的是展示广泛的 IPv6 路由、部署和转换机制。但是,有一个问题......我只能使用非常有限的网络资源 - 最大。10 个具有单独打开的端口/协议的 IP。对于这样的双栈网络,我需要至少 /25 的 IPv4 空间来舒适地实现网络,而无需求助于私有 IP 范围和 NAT(至少在骨干区域),并且还能够演示 6to4 和类似机制.

从当地学术 LIR 获得临时 IP 范围分配是可能的,但这是一个相当大的官僚负担(不太可能在 4 月份我的项目到期时完成)。运行 BGP 也不是我的选择,所以我无法带上自己的 PI 空间。

由于网络的性能对我来说不是很重要,我想,我可以使用隧道来“带来”更多的 IP 到网络。我知道有很多 IPv6 隧道代理,所以让 IPv6 进入并不是真正的问题。我正在寻找的是一个类似的概念,仅适用于 IPv4 地址 - 不是单个地址,而是整个子网。

那么,是否存在一个 IPv4 隧道代理,我可以在其中租用一个子网并通过隧道(GRE、IPIP、OpenVPN 等)将其路由给我?

vpn tunneling ipv6 bgp ipv4

4
推荐指数
1
解决办法
1878
查看次数

ssh隧道时netcat的“-w timeout”选项的目的是什么?

我与发布另一个问题的人处于完全相同的情况,我试图通过网关服务器建立 ssh 连接,而不必 ssh 进入网关并从那里再次手动 ssh 到目标服务器。我正在尝试设置那里接受的答案中给出的解决方案,~/.ssh/config其中包括:

host foo
  User webby
  ProxyCommand ssh a nc -w 3 %h %p

host a
  User johndoe
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试时ssh foo,我的连接会保持活动状态 3 秒,然后因Write failed: Broken pipe错误而终止。删除该-w 3选项可以解决问题。-w 3在原始解决方案中这样做的目的是什么,为什么Broken pipe在我使用它时会导致错误?省略它有什么害处?

ssh tunneling proxy gateway netcat

4
推荐指数
1
解决办法
6661
查看次数

在端口 80 上设置 ssh 服务器和 http 服务器

我在同一台机器上有一个 web 守护进程(侦听端口 80 和 443)和一个 ssh 守护进程(侦听端口 22)。

我有一个客户端(生成 HTTP、HTTPS、SSH 流量)位于代理服务器(端口 8080)和防火墙(仅端口 80 和 443 打开)后面。

我决定使用 HTTP 隧道来传输通过代理服务器的 SSH 流量。问题是该流量的目的地是被防火墙关闭的端口 22。

我可以使用目标端口为 80 或 443 的 HTTP 隧道,这对防火墙很好,但不适用于目标服务器。

除了拥有 2 个服务器之外,还有其他解决方案吗:1 个 Web 服务器侦听端口 80 和 443,另一个 ssh 服务器侦听端口 80 或 443?

任何建议将不胜感激。

洛朗

http firewall ssh tunneling proxy

3
推荐指数
1
解决办法
2655
查看次数

最佳非本地 IPv6 连接(欧洲)

在欧洲获得 IPv6 连接和地址空间的最佳(最稳定、最快、易于设置)方式是什么?而且,为什么?

我正在从德国租用的服务器运行一个小型托管设备,并希望开始提供 IPv6 功能。

我已经看到SixXS在德国有很大的表现,但我想在与隧道经纪人合作之前听取更广泛的意见。

tunneling ipv6

3
推荐指数
1
解决办法
494
查看次数

如何浏览到只能通过 SSH 端口访问的网络服务器

我有一台位于防火墙(公司防火墙)后面的服务器正在工作,因此只能通过端口 22 (SSH) 访问它。我可以毫无问题地使用腻子连接到服务器。
此外,该服务器像往常一样在端口 80 上运行和侦听 Apache。
但是我无法使用浏览器连接到该网站,因为公司的防火墙阻止了端口 80(以及其他所有人)。

有没有办法让我的浏览器连接到该服务器中的 Apache,以便我可以浏览我正在处理的站点?

谢谢。


编辑:

由于我使用普通的 SSH 隧道技术没有成功,我认为这个问题与所有试图通过防火墙的问题不同(因此我在这里问)。
但我错了,这是完全相同的情况,普通的 ssh-tunnel 可以解决问题。

然而,使这个问题有点不同(以及我不成功的原因)是远程服务器也在 NAT 后面,所以服务器的真实 IP 是私有 IP,而不是我用来启动 SSH 的公共 IP会议。
我意识到我在浏览器的地址栏中输入了服务器的私有 IP,瞧!它就像一个魅力。

firewall tunneling proxy port-forwarding ssh-tunnel

3
推荐指数
1
解决办法
1927
查看次数

Keepalived over GRE 隧道,用于 VPS 环境中的故障​​转移

我正在 Linode 上运行一个应用程序。他们的网络不支持多播。许多用于故障转移的工具(keepalived、spread/wackamole、heartbeat)需要多播才能工作(据我所知)。我已经阅读了所有这些的文档,即使在“单播”模式下(如果有的话)它仍然通过多播发送。

我知道通过 GRE 隧道,我可以在路由器不知道的情况下有效地发送多播,这将使我能够使用其中一种工具(现在我想使用 keepalived)。

我在设备“gretun”上设置了我的隧道,如下所示:
10.0.0.1 是指向 www1
的隧道接口点 10.0.0.2 是指向 www2 的隧道接口点
我可以nc 10.0.0.2 80从 www1 和nc 10.0.0.1 80www2,所以它似乎正在工作。假设我要共享的公共 IP 是 69.164.69.69。

我有两个问题:
配置keepalived监控隧道(gretun)后,两台机器还是看不到对方。这是我的配置:

global_defs {
    notification_email {
             info@app.com
    }

    notification_email_from alerts@app.com
    smtp_server localhost
    smtp_connect_timeout 30
    router_id www1.app.com
}

vrrp_script chk_haproxy {
    script "killall -0 haproxy"
    interval 2
    weight 2
}

vrrp_instance VI_1 {
    state MASTER
    interface gretun
    virtual_router_id 51
    priority 100

    advert_int 1
    garp_master_delay 2

    smtp_alert

    authentication {
            auth_type PASS
            auth_pass …
Run Code Online (Sandbox Code Playgroud)

tunneling failover high-availability keepalived

3
推荐指数
1
解决办法
3459
查看次数

Windows 跳转主机

跳转主机是网络上的专用计算机,通常用于管理单独 DMZ 中的设备。因此,我正在寻找为在Windows上运行的目标实现此目的的正确方法。

我正在考虑通过一些 SSH 客户端(例如 Putty)使用到目标主机上Cygwin 的隧道。 SSHD

最好的做法是什么?微软有提供解决方案吗?

networking security windows tunneling ssh-tunnel

3
推荐指数
1
解决办法
9110
查看次数

如何使用 MikroTik 路由器设置加密的 L2 隧道?

我想达到的目标

我想将现有的内部子网安全地分布在多个建筑物上。这意味着我有两个位置的虚拟机需要位于同一子网中。这个想法是虚拟机(具有静态 IP)可以从一个位置迁移到另一个位置。

(物理)主机连接到每个位置的交换机。所以,如果没有任何安全或成本问题,我只需用网线连接两个交换机:

[机器]---[交换机A]<----长电缆--->[交换机B]---[机器]

我想要的是使用两个不需要关心 IP 地址或路由的网关将这条长电缆替换为加密隧道,只需将任何传入数据包加密并通过加密隧道将它们发送到另一个网关。另一个网关然后解密数据包并将它们发送到远程交换机。这在物理上看起来像这样:

[机器]---[交换机A]---[网关A] <-- 互联网--> [网关B]--[交换机B]---[机器]

我想避免网关需要子网内的任何 IP 地址。规则应完全基于端口:

  • 端口 1 的传入数据:通过隧道接口路由
  • 隧道接口处的传入数据:通过端口 1路由

两个网关将有一个静态的、可路由的 IP 地址来建立隧道。加密应该很强大(至少是 AES128、SHA256、DH2048;共享机密很好),这是简单的 PPP 类型隧道不支持的。因此可能需要一个额外的/单独的加密层。

我只有 MikroTik 路由器可用。所以我更愿意使用它们。但是,我主要是在寻找“神奇的词”(协议名称等)以及允许我这样做的正确技术组合。因此,如果您知道如何使用 Cisco 路由器或 HP 路由器执行此操作,如果您解释了如何使用这些路由器执行此操作,它可能也会有所帮助...

问题/尝试

我可以使用什么样的防火墙过滤器和协议来实现这一点?

我的第一个想法是使用 IPsec 来跨越加密隧道。但是,那么我需要定义基于物理端口的 IPsec 策略。但是只有一个选项可以定义来自/到特殊 IP 地址/IP 端口组合的数据。

因此,IPsec 将仅用作另一种隧道类型的加密层(MikroTik RouterOS 目前支持 PPTP、SSTP、L2TP 和 OVPN)。由于 PPP 隧道通常不支持强加密,我会让 IPsec 完成这项工作,并通过加密的 IPsec 隧道跨越未加密的 PPP 隧道。

好的,现在我们至少有一些隧道接口,我们可以像传出端口一样使用它。但是,我有点迷失在这里。我不认为有可能说:“必须通过接口发送具有传入 at 的帧”和“必须通过接口发送传入 at 的帧”。

我不经常在 Layer2 工作......所以我实际上正在寻找正确的“术语”或“类别”。我可以想象在 IP-Firewall (mangle->prerouting) 或类似的地方找到它,但我认为这已经是第 3 层的东西......

我只需要设置一个桥接吗?如果是这样,我如何将隧道接口添加到网桥(最好使用 winbox 接口)?网桥需要MAC地址吗? …

encryption tunneling mikrotik routeros link-layer

3
推荐指数
1
解决办法
8376
查看次数

具有动态 IP 的 SSH known_hosts

我有一台位于防火墙后面的机器。我使用带有端口转发的 VPN 隧道通过 ssh 远程连接到它。为了连接到机器,我使用了 VPN 的外部 IP 以及我个人和临时分配的端口。我使用的命令是:

ssh USER@VPN_IP -p PORT
Run Code Online (Sandbox Code Playgroud)

由于VPN_IP并且PORT经常更改,我无法获得保存主机密钥known_host以摆脱中间人攻击的优势,但同时主机密钥对我来说是众所周知的,我可以按顺序将其提供给 ssh将其用于当前VPN_IPPORT组合。那可能吗?如何?

vpn ssh tunneling known-hosts ssh-keys

3
推荐指数
1
解决办法
2708
查看次数

通过中间服务器卷曲

我需要通过自定义端口从 client1 到 server2 发送带有 curl 的 PUT/GET/POST 请求。但是,server2 只接受来自 server1 的这些请求,如果直接连接,则拒绝 client1。通过 server1 将 curl 请求从 client1 隧道传输到 server2 的最佳方法是什么。

例如,在 SSH 的情况下,我通过创建隧道来做到这一点。所以我想知道 curl 是否存在类似的功能。

tunneling curl

3
推荐指数
2
解决办法
8846
查看次数