我正在使用匿名VPN,但希望SSH访问内部计算机。
如何通过SSH访问我的内部计算机? 当我做ssh 98.123.45.6 ,连接超时。
在四处search时,我发现build议要设置iptables规则,路由规则或将ListenAddress添加到sshd_config。 哪些适用于我的情况?
这是我的路线 :
内核IP路由表 目标网关Genmask标志度量参考使用Iface 10.115.81.1 10.115.81.9 255.255.255.255 UGH 0 0 0 tun0 10.115.81.9 * 255.255.255.255 UH 0 0 0 tun0 50.1.2.3-sta ddwrt 255.255.255.255 UGH 0 0 0 eth0 192.168.1.0 * 255.255.255.0 U 202 0 0 eth0 169.254.0.0 * 255.255.0.0 U 204 0 0 vboxnet0 loopback * 255.0.0.0 U 0 0 0 lo 默认10.115.81.9 128.0.0.0 UG 0 0 0 tun0 128.0.0.0 10.115.81.9 128.0.0.0 UG 0 0 0 tun0 默认ddwrt 0.0.0.0 UG 202 0 0 eth0
要解决这个问题,你需要设置iptables和路由规则。 您遇到的具体问题是,传出的SSH数据包将通过您的匿名VPN通道接口而不是您的以太网接口进行路由。 这是因为您的VPN软件设置了一个路由规则,通过隧道接口发送任何和所有未处理的stream量。 很好的匿名您的networkingstream量; 不适合build立SSH连接到您的计算机。
有几种方法可以解决这个问题,但是我会和你们分享一个在相同情况下为我工作的方法。 以下是我们需要做的事情:
注意:我正在和Raspbian一起做下面的工作,所以你可能需要调整一些命令来适合你的发行版。
首先检查iproute2的表定义文件。 我们要确保我们不使用任何现有规则表的名称或编号。
cat /etc/iproute2/rt_tables
您可能会看到以下内容:
# reserved values 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep
为新的规则表select一个任意的数字和名称 – 上面没有使用的东西。 我将使用数字201和名称novpn为这个答案的其余部分。
将定义直接附加到定义文件或在您select的文本编辑器中进行编辑:
echo "201 novpn" >> /etc/iproute2/rt_tables
检查处理netfilter掩码的任何现有的ip规则:
ip rule show | grep fwmark
如果grep什么都没有,那么你就清楚了。 如果确实打印了一些行,请记下每行中fwmark单词右侧的hex数字。 您将需要select一个当前未使用的号码。 由于我没有现有的fwmark规则,我select了65号。
ip rule add fwmark 65 table novpn
这样做会导致带有netfilter掩码65的任何数据包查找我们的新novpn表以获取如何路由数据包的说明。
ip route add default via YOUR.GATEWAY.IP.HERE dev eth0 table novpn
这里要注意的重要的事情是dev eth0 。 这将强制所有通过novpn表的stream量只使用硬件以太网接口,而不是VPN创build的虚拟隧道接口。
现在将是刷新iproutecaching的好时机,以确保您的新规则和路线立即生效:
ip route flush cache
iptables -t mangle -A OUTPUT -p tcp --sport 22 -j MARK --set-mark 65
这里有太多的select可供我深入解释。 我强烈build议您阅读iptables的手册页,以了解这里发生了什么:
man iptables
简而言之,我们将一个输出规则附加到防火墙的mangle表(用于专门的数据包处理),指示它将标记来自源端口22的任何TCP数据包与我们指定的netfilter掩码65进行标记。
在这一点上,你应该准备好testingSSH。 如果一切顺利的话,你应该会遇见快乐的“login as”提示符。
为了安全起见,我build议您指示您的防火墙删除来自隧道接口的任何传入SSH请求:
iptables -A INPUT -i tun0 -p tcp -m tcp --dport 22 -j DROP
请注意,上述所有说明都是暂时的(创build规则表ID除外) – 下次重新启动计算机时,它们将被清除。 让他们永久是我留给你的一个练习。