Articles of 隧道

使用两个openvpn客户端来公开服务器的服务

我正在尝试使用两个openvpn客户端来公开服务器的服务,正如标题中已经提到的那样。 我可能会玩的力量远远超出我目前的理解,但请忍受我:-) 大纲 这是我目前的设置: INTERNET eth0 | | VPN tun0 /—– perimeter-a —–\ internet clients-: :—— server \—– perimeter-b —–/ server也是这种情况下的VPN服务器。 perimeter-a和perimeter-b是VPN客户端。 server有eth0(公共接口),eth1(另一个公共接口)和tun0(vpn接口)。 每个perimeter都有eth0(公共接口)和tun0(vpn接口)。 目标 目标是任何internet client都能够与perimeter-a或perimeter-b进行通话,并且让他们看起来像是被任何一个服务的,而事实上,您正在服务于server 。 连接到perimeter-a上的游戏服务器(例如)并连接到perimeter-b上的游戏服务器,每次都会让server停止运行。 这个规则的唯一例外应该是当perimeter-a或perimeter-b不转发相应的端口时。 端口应该在这两台机器上显式转发。 UDP和TCP都应该被处理。 先前的尝试 我以前的尝试依赖于通过iptables的NAT,但有失去在server上的实际internet client的地址的问题。 应该保留internet client的地址 – 这就是为什么我决定使用VPN,主要是通过server来访问server 。 理念和当前的尝试 我目前的尝试是使用perimeter-a和perimeter-b作为server互联网网关。 问题是,我不确定当两个perimeters是VPN客户端而不是服务器时是否可以设置。 我可以将数据包从任何一个perimeters传递到server而不必重写数据包源,然后通过tun0发现它到达server ,然后将其发送回任何perimeters ? 但是接下来我需要在两个perimeters之间有两个不同的tun接口,对吧? 然后,当这些数据包到达perimeter-XY ,我需要让该机器将源重写到自己,并将其发送到internet client ,因为数据包来自tun0 – 正确吗? 我完全失去了这一点,我找不到任何描述我的实际情况。 我离解决scheme有多远? […]

两个本地IPv6networking之间的IPv6 IPsec

假设我有两个networking,A和B,位于全球任一地点。 两者都具有本地IPv6,并正在使用(假设)只是IPv6。 IPv4不再存在。 他们既可以作为IPv6本地访问互联网,也可以使用IPv6主机。 他们的IPv6地址全部可路由。 因此,尽pipe有防火墙规则,networkingA中的每个主机都可以到达networkingB中的每个主机,反之亦然。 如何设置IPSec来保护这两个networking之间的通信? 在IPv4世界中,我将在每个站点的两个防火墙之间build立IPSec隧道,或者使用GRE隧道或类似方法。 但是,我将如何在全IPv6世界中做到这一点? IPv6中是否有内在的东西让这更容易? 理想情况下,我想在每个站点的防火墙/路由器上进行configuration。 我不想在每个networking中的每台主机上设置传输模式IPSec。 FWIW,我使用OpenBSD来处理路由/防火墙/ ipsec的需要,所以有关这方面的任何细节都会有所帮助,但是IPv6 / IPSec如何处理这种情况也是一个很好的答案。

如何在Android设备上使用SoftEther的OpenVPN?

我想知道是否有任何机会连接到OpenDevice的networking在Android设备上使用openvpnclient构build?

通过OpenVPN-server从客户端路由IPv6stream量

为了玩和学习的目的,我build立了一个OpenVPN服务器。 我目前连接到一个没有IPv6的networking。 因此,我想通过VPN路由所有IPv6stream量。 用IPv4和iptables-masquerading这已经很好了。 现在到IPv6:我在networking内部build立了IPv6。 我能够在客户端和服务器之间build立连接和ping(ping6)。 服务器内核的转发被激活。 服务器具有到外部的IPv6连接。 我试过这个设置: push "route-ipv6 2000::/3" 和 push "route-ipv6 <my IPv6>" 如果我想在“外部”上ping一些地址: ping6 ipv6.google.com connect: Network is unreachable 即使如果我用“-I tun2”设置正确的接口。 (只是为了确保它不尝试使用其他的接口) 现在我的configuration和设置: 客户的IP: inet6 addr: fdee:dead:b0b::1000/64 服务器的IP: inet6 addr: fdee:dead:b0b::1/64 服务器configuration: port 443 proto udp proto udp6 dev tun tun-ipv6 ca ca.crt cert server.crt key server.key dh dh4096.pem auth […]

在服务器和家庭networking之间build立IPv6 over IPv4隧道

一方面,我有一个在具有IPv6连接的数据中心的Ubuntu服务器。 eth0接口具有公共IPv4和公共IPv6 / 48。 从该服务器我可以ping通IPv6地址确定。 另一方面,我在一个IPv4的ISP上有一个家庭networking。 路由器是Mikrotik,从ISP接收dynamicIPv4。 然后路由器作为具有私有地址的IPv4 LAN的DHCP服务器。 我想在服务器和家庭networking之间build立一个隧道。 我希望局域网中的节点能够从属于该服务器的范围获得IPv6连接。 如果一个节点可以作为隧道的本地terminal,也可以作为一个路由器(最好是Mikrotik路由器,但如果更容易的话,我也可以在本地networking上专门使用一个Ubuntu来完成这个任务),而其余的节点自动获取其configuration。 但是,我也准备好考虑每个本地节点与服务器build立自己的隧道,如果这更有意义的话。 约束: 我已经阅读了很多不同的隧道IPv6方法,但没有一个能够描述这种确切的情况。 我不想使用Teredo,既不是隧道经纪人。 我希望服务器只接受本地networking上没有固定IPv4的节点的连接,所以可能会发生某种authentication。 也许通过OpenVPN或类似的。 我可以像Linux一样在一定程度上configuration一些节点,但局域网上还有像iPad这样的其他节点,不太容易调整,如果可能的话,应该自动接收它们的configuration。 但是,如果只有linux节点连接,那也是可以的。 什么将是一个明智的方式来build立它和相应的configuration?

SoftEther站点到站点VPN

我已经通过SoftEther bridge软件包build立了Site-to-Site连接。 (请看附图)。 我在中央服务器上启用了SecureNAT,为了避免与本地路由器的DHCP发生冲突,我将SecureNAT的IP范围设置为192.168.0.202 – 220 SecureNAT的默认网关是192.168.0.201 我可以从digram上的一台笔记本电脑ping 192.168.0.201,并从服务器收到一个ping。 这告诉连接成功。 但是,我想通过SecureNAT从笔记本电脑的所有stream量中引导。 我不确定最好的方法是什么。 我尝试通过其本地IP地址“192.168.0.201”build立到中央服务器的VPN连接。 这没有奏效。 服务器没有回应。 但是我可以通过公共IP地址连接到中央服务器。 我想使用本地IP地址build立VPN连接的原因是因为直接从中国境内到国外的L2TP连接经常被中断。 但是,桥接连接更稳定,我想利用这实际上包裹我的L2TP连接。 这可能吗?

通过GRE桥接的以太网 – Proxmox

我试图在Online.net服务器上安装两个proxmox,并且我只是意识到他们的RPNfunction根本不能像OVH vRacks一样工作。 由于我需要两个虚拟机pipe理程序中的不同虚拟机能够通话,所以我想build立一个通道(他们的NAT解决scheme看起来很丑,不实用)。 我试着把它添加到/ etc / network / interfaces(当然,在另一个上反转本地和远程): auto vmbr1 iface vmbr1 inet static address 172.16.0.251 netmask 255.255.0.0 bridge_ports gretap1 bridge_stp off bridge_fd 0 pre-up ip link add gretap1 type gretap remote 10.xxx local 10.xxyy ttl 255 dev eth1 && ip link set gretap1 up post-down ip link set gretap1 down && ip tunnel […]

服务器1上的隧道/转发连接到服务器2

我现在已经花了一些时间研究,但是我还没有find解决以下问题的解决scheme: 我想隧道服务器1,端口x到服务器2,端口x的任何请求。 端口保持不变,我只想将发送到端口x上的服务器1的任何数据隧道到服务器2。 连接将如下所示: 客户端>服务器1>隧道>服务器2 并相反: 服务器2>隧道>服务器1>客户端 那可能吗? 如果是的话,怎么样? 这些服务器都在运行Debian 8。 请原谅,如果这是一个总的noob问题,但我刚刚开始使用服务器和东西。 谢谢^^

为什么v6v4tunnel无法在超级V guest上运行?

我正在尝试在Windows 10 Build 14393上安装Windows v6v4tunnel。创build隧道非常简单。 netsh interface ipv6 add v6v4tunnel interface=IP6Tunnel 192.168.1.12 xx.xx.128.26 netsh interface ipv6 add address IP6Tunnel 2001:xxx:xx:70::2 netsh interface ipv6 add route ::/0 IP6Tunnel 2001:xxx:xx:70::1 当我尝试在作为Hyper-V guest虚拟机运行的Windows 10上创build隧道时,它不起作用。 为了testing,我禁用了所有的防火墙。 我正在使用与OS共享的单个networking适配器。 为了testing,我尝试在独立的PC上,在同一个networking上创build隧道,而且没有问题。 我还在Hyper-V主机上创build了隧道,并且它也正常工作。 这排除了任何networking,防火墙或NAT问题。 我只有在尝试在Hyper-V guest虚拟机上创build隧道时遇到问题。 这不是特定于Windows的,因为我也尝试在Ubuntu guest虚拟机上创build隧道。 我怎样才能进一步debugging,让我的隧道正确运行?

寻找一种通过SOCKS端口转发端口绑定应用程序的方法

我正在运行一个程序,它绑定防火墙后面的主机(运行Windows 10)上的特定端口,而且我没有权限直接通过networking进行端口转发。 相反,我试图通过SOCKS隧道通过外部服务器(运行Debian)转发此连接,以便公开访问。 我遇到的问题是,我使用的SSH命令将本地端口绑定,呈现程序无法正确绑定端口本身,并正确启动。 (改变程序不是一个选项,它必须绑定。) 我通过SSH使用以下命令来设置一个SOCKS隧道: ssh -vg -D 8123 meself@[external IP] 我已经validation了这个隧道使用了下面的curl,它会转储Google的索引页面: curl –socks5 127.0.0.1:8123 http://www.google.com/ 另外,netstat也显示连接是活的: netstat -t | grep "[external IP]" TCP [internal IP] [external IP]:ssh ESTABLISHED InHost 我已经尝试使用FreeCap从主机上的程序捕获stream量,并强制它通过SOCKSredirect,但这似乎并没有工作。 FreeCap表示代理function正常,但程序仍尝试本地绑定端口8123。 还值得注意的是,该程序是用Java编写的。 我用来在主机上执行程序的命令是: java -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=8123 -jar [program .jar] 在上面的条件下,这就吐出了一个端口8123已经绑定的错误。 我的最终目标是使外部服务器可以直接访问我的主机上运行的程序,这样当客户端连接到服务器时,他们相信他们直接连接到主机上的程序,主机上的程序认为它直接连接到客户端。 我从哪里出发? 这可以做到不引入VPN? (注意:我有权以这种方式绕过防火墙。) (另请注意:我只挑选了8123作为示例端口。)