2012年4月17日星期二

@shell909090: vps上应当装什么

 
 

satan 通过 Google 阅读器发送给您的内容:

 
 


    假定你有一台debian vps,上面需要装一些东西来——你懂。你应该装一些什么呢?
# 基础部分 #
## ssh ##
没啥好多说,没有ssh,你甚至无法管理机器。不过注意,安全的ssh方式应当只允许使用key登录,禁止一切密码登录。而且对于没必要登录的某些用户,需要在/etc/passwd中将shell改为/bin/false。至于端口改不改,这个不重要,看你心情。
## vim ##
debian默认装的是vim-tiny,很不好用。建议改为vim,改配置的时候让自己舒服点。
## 安全部分 ##
## iptables-persistent ##
这是debian内用于iptables规则持久化的工具,你可以编辑/etc/iptables/rules.v4来修改防火墙规则。注意,目前debian stable(squeeze)中的版本还没有4/6区分,你可以弄一个testing(wheezy)中的来装。
一般来说,你的规则中至少要包含以下内容:
`
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
-A INPUT -i ppp+ -j ACCEPT
-A INPUT -p tcp -m multiport –dport 22,xxx,xxx,xxx -j ACCEPT
-A INPUT -p udp -m multiport –dport xxx,xxx,xxx -j ACCEPT
`
而且强烈建议,先保存一个没问题的iptables,然后直接修改iptables,再保存。这样的好处是,当你脑残改错了导致你自己都无法管理的时候,只要重启就可以恢复vps工作,而不用更麻烦的动作。
## denyhosts ##
这是ssh的连接防御进程,用python编写。如果有人试图尝试你的ssh密码,这个程序就会踢掉他的ip。
如果你已经用了我说的,通过key的连接方式,你可以一次就直接踢掉对方ip。
# 管理部分 #
## ifstat ##
ifstat是用于网络流量管理的工具,可以告诉你网络目标的流量是多少。
## dnsutils ##
dnsutils里面包含了不少用于管理dns的工具,包括我们常用的nslookup,还有相对少用的dig。
## mtr-tiny ##
mtr是一个traceroute工具,比后者好用很多。这个工具可以快速跟踪路由。
## vnstat ##
vnstat是用于跟踪网卡流量的工具,尤其对于每个月都有限额的vps,这个工具更有意义。
注意安装完成后需要初始化每个网卡,然后重启服务,而不是马上能够工作。
# 网络部分 #
## pptp ##
pptp是一个经典的vpn服务,直接安装pptpd就好。注意,部分手机不支持128bit的mppe,关闭后可以连接。但是windows只支持128bit的mppe,关掉就无法连接。So,自己权衡。
## openvpn ##
openpn是一个非常稳定而强大的vpn程序,他使用udp作为连接协议。其实openvpn有tcp协议模式,但是速度比udp慢很多。
## l2tp ##
l2tp的配置比openvpn更加繁琐,我配置过多次,始终在部分的设备上可以访问,部分不可以。因此等全部搞定后,会专门写一篇确认一下。
## iodine ##
iodine是一个dns vpn。
## ssh ##
ssh用于翻墙常见两种模式,固定端口转发和动态端口转发。前者使用-R将远程的某个端口映射到本地。通常而言,映射的都是squid或者polipo(推荐后者,内存消耗更小,更好配置)。这样相当于在本地可以访问远程的代理,从而达到翻墙的效果。这个的命令行是ssh -L port:localhost:port …
而动态端口转发则是使用ssh -D port …,将本地的port端口变成一个支持socks5协议的代理服务器。
相比而言,-D模式更加灵活,提供了全协议的访问,本地可以通过polipo转换为http代理。而-L模式则不能提供socks5代理功能(除非远程的端口上是socks5代理服务,但是这样就回到了-D模式,反而多开了一个服务)。但是有些时候(例如android的ssh翻墙软件)只支持后者的模式。
另外,不要用日常管理帐号翻墙。新开一个翻墙帐号,并且设定独立的key。然后禁用shell,在ssh的时候,使用参数-CNq,这个参数可以不打开shell。如果网络不稳定,可以加上-o ServerAliveInterval 30。
## stunnel ##
stunnel本身没有任何功效,他只是将你的普通连接转换为ssl连接而已。当这个程序搭配其他程序,例如polipo,就可以实现一个ssl级别的代理。
## httptunnel ##
这是一个服务软件,服务器端运行一个httptunnel,客户端运行一个。而后客户端就可以获得一个到服务器端的tcp连接,不受限的。
## polipo ##
polipo常见有两种模式,端口转发模式和ssl模式。两者都在前文有说。端口转发模式配合ssh用,ssl模式配合stunnel用。
以上的服务看似很多,实际上,在128M内存的实例上完全可以运行其中大部分的服务。你可以在一台服务器上运行其中多个,以保证全天候的服务。

 
 

可从此处完成的操作:

 
 

没有评论:

发表评论