浏览模式: 标准 | 列表
2012年09月的文章
Written by 正冰 on 2012, September 27, 8:53 AM
需求:为了保护SSH端口的安全,需要实现该端口仅允许某IP或者IP段连接。
通过linux下的iptables过滤规则即可实现:先写允许连接的规则,再写拒绝连接的规则。软件这样设置也是比较符合逻辑的,如果所连接的IP符合第一条规则则让其通过,如果不在第一条规则内的IP则跳到下一条规则进行匹配。
iptables -A INPUT -s IP -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -j DROP
封单个IP:iptables -I INPUT -s 211.1.1.1 -j DROP
封一个C段IP:iptables -I INPUT -s 211.1.0.0/16 -j DROP
封一个B段IP: iptables -I INPUT -s 211.0.0.0/8 -j DROP
iptables服务启动自运行有三个方法:
- 把它加到/etc/rc.local中。
- iptables-save >/etc/sysconfig/iptables 可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。
- service iptables save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。
建议选择2与3,更加方便,一般iptables服务会在network服务之前启来,更安全。
Filed under: 技术归总
0 Comments
15840 Views
Written by 正冰 on 2012, September 25, 8:00 PM
asp虽然是比较过时的脚本代码,微软也已经基本抛弃了它,但是因为它的轻便,还是深受很多人的喜爱。
翻阅电脑中找到一份几年前的asp程序和access数据库,闲来无事便想着把数据库中的数据整理一下,居然发现很多需要替换的数据。
网上找了一句sql一句进行替换操作,结果却显示表达式中replace,函数未定义,语句如下:
update table SET content=replace(content,"old","new")
更新table表设定字段content中将old替换为new。
懒人原则,找到最快的解决办法,网上找到一段可用的替换替换access数据库中数据的asp脚本代码如下:
- <%
- Set Conn = Server.CreateObject("ADODB.Connection")
- Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("数据库名.mdb")
- Set rs = Server.Createobject("ADODB.Recordset")
- sql="Select * from [表名]"
- rs.open sql,conn,1,3
- while not rs.eof
- rs("字段名")=replace(rs("字段名"),"要被替代的字符串","替代后的字符串")
- rs.update
- rs.movenext
- wend
- rs.close
- set rs=nothing
- conn.close
- set conn=nothing
- %>
Filed under: 技术归总
0 Comments
15745 Views
Written by 正冰 on 2012, September 15, 9:28 AM
在某个VPS上执行wget操作结果超时,信息如下:
- wget http://blog.is36.com/
- --2012-09-15 09:13:14-- http://blog.is36.com/
- Resolving blog.is36.com... failed: Temporary failure in name resolution.
- wget: unable to resolve host address `blog.is36.com'
返回的错误很明显,就是无法解析,出现这个问题与nameserver有关,修改/etc/resolv.conf文件即可。
查看/etc/resolv.conf文件内容如下:
- nameserver 205.185.112.68
- nameserver 205.185.112.69
改成OpenDNS的一组解析服务器即可:
- nameserver 208.67.222.222
- nameserver 208.67.220.220
Filed under: 技术归总
0 Comments
19104 Views
Written by 正冰 on 2012, September 15, 9:01 AM
在某台15美元一年的OpenVZ虚拟化的VPS上安装pptpd服务,结果遭遇yum无法使用的问题。执行yum后的错误代码如下:
- Loaded plugins: fastestmirror
- Setting up Remove Process
- No Match for argument: pptpd
- Determining fastest mirrors
- Traceback (most recent call last):
- File "/usr/bin/yum", line 29, in ?
- yummain.user_main(sys.argv[1:], exit_code=True)
- File "/usr/share/yum-cli/yummain.py", line 309, in user_main
- errcode = main(args)
- File "/usr/share/yum-cli/yummain.py", line 178, in main
- result, resultmsgs = base.doCommands()
- File "/usr/share/yum-cli/cli.py", line 349, in doCommands
- return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
- File "/usr/share/yum-cli/yumcommands.py", line 366, in doCommand
- return base.erasePkgs(extcmds)
- File "/usr/share/yum-cli/cli.py", line 638, in erasePkgs
- self._checkMaybeYouMeant(arg, always_output=False)
- File "/usr/share/yum-cli/cli.py", line 533, in _checkMaybeYouMeant
- matches = self.doPackageLists(patterns=[arg], ignore_case=False)
- File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 1632, in doPackageLists
- avail = self.pkgSack.returnNewestByNameArch(patterns=patterns,
- File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 662, in <lambda>
- pkgSack = property(fget=lambda self: self._getSacks(),
- File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 502, in _getSacks
- self.repos.populateSack(which=repos)
- File "/usr/lib/python2.4/site-packages/yum/repos.py", line 232, in populateSack
- self.doSetup()
- File "/usr/lib/python2.4/site-packages/yum/repos.py", line 79, in doSetup
- self.ayum.plugins.run('postreposetup')
- File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 179, in run
- func(conduitcls(self, self.base, conf, **kwargs))
- File "/usr/lib/yum-plugins/fastestmirror.py", line 181, in postreposetup_hook
- all_urls = FastestMirror(all_urls).get_mirrorlist()
- File "/usr/lib/yum-plugins/fastestmirror.py", line 333, in get_mirrorlist
- self._poll_mirrors()
- File "/usr/lib/yum-plugins/fastestmirror.py", line 376, in _poll_mirrors
- pollThread.start()
- File "/usr/lib/python2.4/threading.py", line 416, in start
- _start_new_thread(self.__bootstrap, ())
- thread.error: can't start new thread
从下面这个博客中找到了解决方案:
http://www.tuccuay.com/2012/01/%E8%A7%A3%E5%86%B3thread-error-cant-start-new-thread%E9%94%99%E8%AF%AF/
在一些廉价VPS上运行Yum时可能会出 现:”thread.error: can’t start new thread”的错误, 原因就是因为内存太小了,以至于导致在寻找最快镜像的时候内存不足。
发生的原因在于fastestmirror,而禁用fastestmirror就可以解决这个问题,具体的解决办法是将fastestmirror.conf中的enabled=1改成enabled=0。
在登录SSH之后,编辑/etc/yum/pluginconf.d/fastestmirror.conf文件,把enabled从其中的把enabled=1改为enabled=0即可。
执行如下命令一键修改:
sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf
Filed under: 技术归总
0 Comments
23934 Views