我有10个Ubuntu服务器在不同的位置,每个防火墙后面(local_server_1到10)。 所有这些服务器都有权使用ssh密钥(也就是说,它们的ssh密钥位于master的authorized_keys文件中)通过SSH连接到我的公共服务器(可以称之为主服务器)。 我正在尝试创build一个允许我远程打开SSH隧道的工具。 每个本地服务器都运行一个php脚本来ping我的主服务器,并返回一个json。 如果json中有这个服务器的名字,它会运行这个命令: ssh -t -t -R 13337:localhost:22 root@<master_id> (用php的exec()) 当我通过命令行自己运行这个PHP时,隧道打开,我可以正常工作。 当我运行这个PHP脚本使用crontab或supervisord,我得到这个错误: 主机密钥validation失败 任何想法如何解决它? 也许你对这个问题有更好的解决scheme?
修正:原来是BatchyX所说的组合(在远程端缺less172.16.101.0/24路由),而远程端的tinc无法运行一个脚本(该脚本不可执行)。 所以现在一切正常,谢谢大家的帮助:) ================================================== =========================== 我的问题出人意料地难以解释,所以我会把它分解成更小的部分,提前对不起长文本:) 我有一个服务器在托pipe服务提供商,有一个公共IP,这台服务器正在运行tinc(vpn软件)。 在家里,我有两个vlan,VLAN1(我的普通子网,用于pc等,坐在NAT后面)和VLAN20,用于我的vmware实验室。 环境。 我想设置的是,使我的VLAN20networking,可以使用主机提供商的服务器作为其网关(其外部IP),而不是我在家里的外部网关。 为此,我在家里有一台服务器,它有两个networking接口,一个在VLAN1上,另一个在VLAN20上。 可以说我有以下ips: Server at hosting provider: Public IP: 123.123.123.123 (eth0) Private IP: 10.1.0.1/24 (tun0) Network at home: VLAN1 – 192.168.1.0/24 (.1 is the gateway) VLAN20 – 172.16.101.0/24 Network on server at home: NIC1 (VLAN1) – 192.168.1.50/24 (eth0) NIC2 (VLAN20) – 172.16.101.1/24 (eth1) Tunnel – 10.1.0.2/24 (tun0) […]
我在我的networking上有一个设备(“A”),它只通过HTTPS提供内容,不能在我的路由器/防火墙后访问。 我有另一台机器(“B”),在互联网上的其他地方(假IP 44.44.44.44) 我想要访问由B从A提供的内容。我在B上为B设置了accepted_keys。 – 我对SSL / TLS隧道有一个基本的了解,但是我从来没有用HTTPS把它复杂化。 所以我先从A – > B创build一个反向隧道: ssh -N -R 8888:localhost:443 [email protected] 那么在这一点上,在B上,我应该能够访问端口8888,就好像它是A上的443一样? 当我尝试打B上的本地主机:8888时,我得到以下(来自链接2) Bad request! Your browser (or proxy) sent a request that this server could not understand. If you think this is a server error, please contact the webmaster. Error 400 www.example.com Sat Mar 29 22:50:34 2014 Apache/2.2.26 […]
我有一个系统运行QEMU / KVM(通过libvirt)。 其中一个VM需要在VM主机不在本地的子网上。 我在远程子网上有一个Linux系统。 有没有办法设置某种隧道桥,使虚拟机出现在远程系统上? 这将是一个暂时的情况(希望只有在VM拥有者可以configuration他们的系统之前),networking性能和长期可维护性并不是真正的问题。 给一些更具体的信息: 我的VM主机有IP地址192.168.54.155/24。 虚拟机的IP地址为192.168.65.71/24。 我有一个远程系统在192.168.65.254/24。 VM主机和远程系统都运行Scientific Linux 6.5。 我不控制VM主机和远程系统之间的networking或路由。 我无法访问VM上的来宾操作系统。 即使主机没有直接连接到适当的networking,我也希望stream量到虚拟机的IP地址,最终到达虚拟机。 我尝试过使用iproute2的隧道,但Linux不会让我添加隧道到桥。 我曾经考虑过使用某种iptables来改变隧道的stream量,使虚拟机认为它在正确的networking上,但我不确定是否有更好的方法。 什么是完成这个黑客的最好方法?
我试图使用ip-in-ip隧道将数据包从HostA转发到HostB。 当数据包到达目的地时,它们不会被接收主机解封装,从而被丢弃。 我觉得我已经耗尽了所有的谷歌。 在本质上,接收主机看起来不会将数据包发送到隧道设备进行解封装。 我在这里尝试使用的教程最多,但是我已经尝试了多种方法和不同的教程,并且不断遇到同样的问题。 我错过了什么? 在HostA上: ip tunnel add tun0 mode ipip local $hostA remote $hostB ip link set tun0 up ip addr add 10.10.10.1/24 dev tun0 在HostB上 ip tunnel add tun0 mode ipip local $hostB remote $hostA ip link set tun0 up ip addr add 10.10.10.2/24 dev tun0 现在,当我ping 10.10.10.2 ,我没有得到任何回应。 HostB显示(通过tcpdump -c […]
我通常使用SSH连接共享启用; 这会导致我在初始sshlogin后创build的任何ssh隧道使用该连接。 在这种情况下,是否可以closures一个SSH隧道而不杀死SSH进程?
tl; dr (在用@krisFRdebugging几个小时后):至less在Debian 8下,从不使用虚拟接口(eth0:1)用于OpenVPN,而是应用新的debian iproute2方法(手动方法): https:// wiki .debian.org / NetworkConfiguration#iproute2_method 。 它会很好地路由stream量。 我试图在所有客户端stream量应该通过隧道发送的机器上设置OpenVPN,所以这是我的服务器configuration的一部分: local xxx243 port 443 proto udp dev tun server 172.31.1.0 255.255.255.0 push "redirect-gateway def1 bypass-dhcp" 和我的客户端configuration: pull resolv-retry infinite mute-replay-warnings redirect-gateway def1 script-security 1 客户端能够连接到VPN,它可以在172.31.1.1 ping VPN主机,但是如果我尝试通过域或IP ping google.com Request timeout for icmp_seq 0消息的Request timeout for icmp_seq 0 … 什么可能导致这个? 注意,我已经卸载了任何防火墙,我目前正在设置IPTables为: iptables […]
是否有可能通过IPv6隧道路由所有的IPv4stream量? 让我详细说一下,假设我使用IPv4(duh!)build立隧道经理(HE)6in4隧道,但是我想通过IPv6隧道中继所有的IPv4stream量,换句话说,使这个IPv6链路成为默认网关适用于所有互联网stream量(IPv6和IPv4)。 可用的硬件是: Mikrotik RouterBoard RB750与RouterOS 6.x 具有一个dynamic公共IPv4地址的ADSL ISP。 个人电脑,电话等
我试图同时运行多个openvpn实例,所有工作正常运行一个单一的,但我想有几个实例,其中每个连接到不同的主机,从那里能够使用接口,我想。 我正在尝试这样的: France.ovpn client dev tun proto udp remote france.privateinternetaccess.com lport 1190 resolv-retry infinite persist-key persist-tun cipher aes-128-cbc auth sha1 tls-client remote-cert-tls server auth-user-pass /etc/openvpn/piaauth.txt comp-lzo verb 1 reneg-sec 0 crl-verify /etc/openvpn/crl.rsa.2048.pem ca /etc/openvpn/ca.rsa.2048.crt disable-occ lport 1189 rport 1198 | sudo /usr/sbin/openvpn –config /etc/openvpn/France.ovpn –dev tun0 Fri Dec 16 16:59:32 2016 OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL […]
我有3台服务器, A是Internet上的公共可访问服务器。 B提供我想要访问的Web服务。 C有权连接到A和B. 现在我想,如果一个客户端D试图访问一个特殊的端口,他将被转发到B. IP和端口 A: 1.0.0.1:22 SSHD服务器 1.0.0.1:443公共端口,我想要使用 B: 1.0.0.2:23 SSHD服务器 1.0.0.2:444 Webservice我想访问 C: 1.0.0.3 d: 1.0.0.4 图: +————+ +————+ | Client (D) +——–> Public (A) | +————+ +—–^——+ | +—————-+ +———–+ | Webservice (B) <—-+ Proxy (C) | +—————-+ +———–+ 题: 什么SSH隧道命令我需要在C上执行,所以,如果我试图打开D 1.0.0.1:443我得到的服务托pipe在1.0.0.2:444?