分类
Linux

翻越长城,走向世界001

由于众所周知的原因,我们上的网永远都是局域网,而我很早开始翻越这堵墙。买过VXN,用过别人的SOCKS5代理,现在自己用服务器搭梯子。在和墙斗争的过程当中,逐渐总结了一些经验。

而今天遇到了一个奇葩的问题,我的服务器商是Linode,今天中午开始,我的SS代理开始失效,下午连博客都访问不了,更可怕的是,我登录另外一个服务器都无法ping通这个服务器的ip。

于是我向Linode的管理员发了Tickets:

Why can’t ssh my linode?
my linode’s ip is x.x.x.x

然后Linode的管理员回复我说:

Hey there,

I checked a few things out regarding your Linode:

First, I attempting pinging your Linode:
ping x.x.x.x
PING x.x.x.x (x.x.x.x): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3

I then ran nmap to see if you had any open ports:
nmap x.x.x.x
Starting Nmap 7.70 ( https://nmap.org ) at 2018-07-21 08:05 EDT
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.05 seconds

What this means, is that your Linode more than likely has all of its ports closed on your firewall. I would suggest connecting via Lish, then opening your ports. Since you are on Debian, you will want to configure your ports with iptables:

https://www.linode.com/docs/networking/using-the-linode-shell-lish/
https://www.linode.com/docs/security/firewalls/control-network-traffic-with-iptables/

Let us know if you have any other questions.

Regards,
Sam McCabe
Linode Support

虽然之前也有过服务器IP被墙的时候,但是今天我明白 ,这绝对不是IP被墙,因为如果是IP被墙了,那么另外的国外服务器是绝对可以ping通这台服务器的,只要这个服务器没有被攻击,正常运行的话。

这里再插个题外话,如果是用linode这种服务器商做梯子的话,ip被墙是很方便的,因为linode有个clone,只要ip被墙,服务器上的几十个G的文件,因为是固态硬盘和千兆网,可以在很短时间内复制一份到另外一个机房,所以完全不愁ip被墙。我都被墙过很多次了,一点都不虚。

这个管理员的意思是说,你的服务器ip ping不通,用nmap工具检测没有打开的端口,然后告诉我用lish工具可以连得上我的服务器。

那lish工具是什么呢?

我们平常用的ssh工具,比如很多人用的putty,我用的chrome secure shell app。你只需要有一个ip,账号,密码,就可以管理千里之外的linux服务器,而lish是linode提供的一个管理工具,只要你有linode id 密码就可以管理名下的服务器,只要这个服务器在运行就可以操控,不受ip,端口,被墙的限制,是在机房层面操控服务器。

后来经过检查确实是端口的问题,端口没有开放。查日志的话是最后运行的某个脚本导致的,我都不知道为什么。

大家知道,linode这类的服务器虽然有自己的TOS,但是对于很多东西真的一点都不限制,就比如流入流量,只要不是bt下载等,比如端口,完全放开,不像国内的某些云。

一般来说,使用iptables -L -n命令在linode中,你会看到这样:

如果出现linode服务器没有被墙,而你又打不开服务器,确实可以用lish试试,很方便,和我们平常用的ssh差不多。

最后说下两个命令:
关闭端口号:

iptables -A INPUT -p tcp –drop 端口号 -j DROP
iptables -A OUTPUT -p tcp –dport 端口号 -j DROP

打开端口号:

iptables -A INPUT -ptcp –dport 端口号 -j ACCEPT

发表评论

电子邮件地址不会被公开。 必填项已用*标注