CentOS双网卡双IP设置

系统环境:CentOS Linux 网络环境: 两个IP地址,192.168.0.10和10.10.30.2,掩码是255.255.255.0, 这两个子网的网关地址分别是192.168.0.1和10.10.30.1。 1. 为网卡eth0配置ip地址192.168.0.10,为网卡eth1配置ip地址为10.10.30.2配置文件为:     /etc/sysconfig/network-scripts/ifcfg-eth0     /etc/sysconfig/network-scripts/ifcfg-eth1 2. 配置默认网关为任意一个。这个默认网关,决定了系统主动去使用网络时,使用的接口。 配置文件:/etc/sysconfig/network 修改以下内容     NETWORKING=yes (表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络)     HOSTNAME=centos (设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)     GATEWAY=192.168.0.1 (设置本机连接的默认网关的IP地址。) 3. 编辑路由表 a.修改/etc/iproute2/rt_tables,添加内容:     252 net2     251 net3 b.#/etc/rc.local添加原路返回路由     ip route flush table net2     ip route add default via […]

Continue reading


拯救国外服务器, 锐速破解教程

软件下载 1. 破解程序下载: http://pan.baidu.com/s/1dEt8eYH 2. 刚发现一个安装包比较全的网站: https://crystal.fantasy.pe/build.html https://storage.fantasy.pe/serverSpeeder/kernel/ 步骤说明 1. 下载破解程序。破解程序中有说明文档。按说明文档操作。 2. 值得说明的是,破解程序中提供的安装包不适合的话,请下载上文中的安装包。 然后修改安装包里的 config 文件,且将 破解程序里锐速安装包的 lic 拷贝到目录中。然后执行安装即可! 自动脚本 wget http://lib.idc.wiki/install/v3.sh -O v3.sh;bash v3.sh;rm -rf v3.sh 另一个自动脚本 安装 wget http://soft.91yun.org/soft/serverspeeder/serverspeeder-all.sh && bash serverspeeder-all.sh 卸载 chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f Share List

Continue reading


iptables详解

一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。 目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关。 对于TCP/IP的七层模型来讲,我们知道第三层是网络层,三层的防火墙会在这层对源地址和目标地址进行检测。但是对于七层的防火墙,不管你源端口或者目标端口,源地址或者目标地址是什么,都将对你所有的东西进行检查。所以,对于设计原理来讲,七层防火墙更加安全,但是这却带来了效率更低。所以市面上通常的防火墙方案,都是两者结合的。而又由于我们都需要从防火墙所控制的这个口来访问,所以防火墙的工作效率就成了用户能够访问数据多少的一个最重要的控制,配置的不好甚至有可能成为流量的瓶颈。 二:iptables 的历史以及工作原理 1.iptables的发展: iptables的前身叫ipfirewall (内核1.x时代),这是一个作者从freeBSD上移植过来的,能够工作在内核当中的,对数据包进行检测的一款简易访问控制工具。但是ipfirewall工作功能极其有限(它需要将所有的规则都放进内核当中,这样规则才能够运行起来,而放进内核,这个做法一般是极其困难的)。当内核发展到2.x系列的时候,软件更名为ipchains,它可以定义多条规则,将他们串起来,共同发挥作用,而现在,它叫做iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能。 他们都是工作在用户空间中,定义规则的工具,本身并不算是防火墙。它们定义的规则,可以让在内核空间当中的netfilter来读取,并且实现让防火墙工作。而放入内核的地方必须要是特定的位置,必须是tcp/ip的协议栈经过的地方。而这个tcp/ip协议栈必须经过的地方,可以实现读取规则的地方就叫做 netfilter.(网络过滤器) 作者一共在内核空间中选择了5个位置, 1.内核空间中:从一个网络接口进来,到另一个网络接口去的 2.数据包从内核流入用户空间的 3.数据包从用户空间流出的 4.进入/离开本机的外网接口 5.进入/离开本机的内网接口 2.iptables的工作机制 从上面的发展我们知道了作者选择了5个位置,来作为控制的地方,但是你有没有发现,其实前三个位置已经基本上能将路径彻底封锁了,但是为什么已经在进出的口设置了关卡之后还要在内部卡呢? 由于数据包尚未进行路由决策,还不知道数据要走向哪里,所以在进出口是没办法实现数据过滤的。所以要在内核空间里设置转发的关卡,进入用户空间的关卡,从用户空间出去的关卡。那么,既然他们没什么用,那我们为什么还要放置他们呢?因为我们在做NAT和DNAT的时候,目标地址转换必须在路由之前转换。所以我们必须在外网而后内网的接口处进行设置关卡。 这五个位置也被称为五个钩子函数(hook functions),也叫五个规则链。 1.PREROUTING (路由前) 2.INPUT (数据包流入口) 3.FORWARD (转发管卡) 4.OUTPUT(数据包出口) 5.POSTROUTING(路由后) 这是NetFilter规定的五个规则链,任何一个数据包,只要经过本机,必将经过这五个链中的其中一个链。 3.防火墙的策略 防火墙策略一般分为两种,一种叫“通”策略,一种叫“堵”策略,通策略,默认门是关着的,必须要定义谁能进。堵策略则是,大门是洞开的,但是你必须有身份认证,否则不能进。所以我们要定义,让进来的进来,让出去的出去,所以通,是要全通,而堵,则是要选择。当我们定义的策略的时候,要分别定义多条功能,其中:定义数据包中允许或者不允许的策略,filter过滤的功能,而定义地址转换的功能的则是nat选项。为了让这些功能交替工作,我们制定出了“表”这个定义,来定义、区分各种不同的工作功能和处理方式。 我们现在用的比较多个功能有3个: 1.filter 定义允许或者不允许的 2.nat 定义地址转换的 3.mangle功能:修改报文原数据 我们修改报文原数据就是来修改TTL的。能够实现将数据包的元数据拆开,在里面做标记/修改内容的。而防火墙标记,其实就是靠mangle来实现的。 小扩展: 对于filter来讲一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT 对于nat来讲一般也只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING 而mangle则是5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING iptables/netfilter(这款软件)是工作在用户空间的,它可以让规则进行生效的,本身不是一种服务,而且规则是立即生效的。而我们iptables现在被做成了一个服务,可以进行启动,停止的。启动,则将规则直接生效,停止,则将规则撤销。 iptables还支持自己定义链。但是自己定义的链,必须是跟某种特定的链关联起来的。在一个关卡设定,指定当有数据的时候专门去找某个特定的链来处理,当那个链处理完之后,再返回。接着在特定的链中继续检查。 注意:规则的次序非常关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的。 三.规则的写法: iptables定义规则的方式比较复杂: 格式:iptables [-t […]

Continue reading


程序员技术练级攻略

转自:http://coolshell.cn/articles/4990.html ————————————————————————————————————————————————————— 月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历,我在把他的心得做了不多的增改,并根据我的经历增加了“进阶”一节。这是一篇由新手和我这个老家伙根据我们的经历完成的文章。 我的这个朋友把这篇文章取名叫Build Your Programming Technical Skills,我实在不知道用中文怎么翻译,但我在写的过程中,我觉得这很像一个打网游做任务升级的一个过程,所以取名叫“技术练级攻略”,题目有点大,呵呵,这个标题纯粹是为了好玩。这里仅仅是在分享Mailper和我个人的学习经历。(注:省去了我作为一个初学者曾经学习过的一些技术(今天明显过时了),如:Delphi/Power builder,也省去了我学过的一些我觉得没意思的技术Lotus Notes/ActiveX/COM/ADO/ATL/.NET ……) 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发) 建议: 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。 一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。 一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。 注:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉得Windows下的编程可能会在未来很没有前途,原因如下: 现在的用户界面几乎被两个东西主宰了,1)Web,2)移动设备iOS或Android。Windows的图形界面不吃香了。 越来越多的企业在用成本低性能高的Linux和各种开源技术来构架其系统,Windows的成本太高了。 微软的东西变得太快了,很不持久,他们完全是在玩弄程序员。详情参见《Windows编程革命史》 所以,我个人认为以后的趋势是前端是Web+移动,后端是Linux+开源。开发这边基本上没Windows什么事。 启蒙入门 1、 学习一门脚本语言,例如Python/Ruby 可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目: 处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log) 遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果 跟数据库打交道 (python sqlite),写一个小脚本统计数据库里条目数量 学会用各种print之类简单粗暴的方式进行调试 学会用Google (phrase, […]

Continue reading


YUM安装MySQL 5.6

操作系统:CentOS-6.5 # cat /etc/redhat-release 卸载自带的5.1的mysql-libs包 #rpm -e –nodeps mysql-libs 安装wget #yum install wget -y 下载5.6的依赖源配置repo rpm文件 #wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 安装repo rpm包 # rpm -ivh mysql-community-release-el6-5.noarch.rpm 或者 #rpm -ivh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 安装mysql-server # yum install mysql-server   mysql-community-devel # rpm -qa | grep mysql 启动mysql-server #/etc/init.d/mysqld start   Share List

Continue reading


YUM安装PHP5.4或5.5

安装PHP5.4 rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm yum install php54w ————————————— php5.4于2012年5月8号发布,从php5.4.0开始php加入了一些新特色如: Traits支持 内置了一个简单的Web服务器 提供了数组简短语法 直接对函数返回值进行数组取值 最终删除魔术方法及安全模式 你可以在这里看到 更新日志。 这里使用 Webtatic EL6的YUM源来安装php5.4,我们首页安装Webtatic EL6 YUM源 rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm 安装php5.4 yum install php54w 如果安装失败,建议您先卸载以前的php再进行安装,使用yum remove php php-* 附带的php扩展列表: Package Provides php54w mod_php php54w-bcmath php54w-cli php-cgi, php-pcntl, php-readline php54w-common php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, […]

Continue reading


Github更新自己Fork的代码

github上有个功能叫fork,可以将别人的工程复制到自己账号下。这个功能很方便,但其有一个缺点是:当源项目更新后,你fork的分支并不会一起更新,需要自己手动去更新。 以github用户名:micmiu ,fork 项目 sql-parser(原始地址https://github.com/FoundationDB/sql-parser)到自己账号下 https://github.com/micmiu/sql-parser 为例子: 1、clone 自己账号里fork的分支到本地  git clone https://github.com/micmiu/sql-parser.git cd sql–parser 2、增加远程原始分支到本地(可以用git remote -v命令查看远程分支列表)  git remote –v origin https://github.com/micmiu/sql-parser.git (fetch) origin https://github.com/micmiu/sql-parser.git (push) 如果没有远程原始分支则需要增加: git remote add sql–parser_fdb https://github.com/FoundationDB/sql-parser.git  查看确认远程分支列表: git remote –v 3、fetch原始源分支的新版本到本地 git fetch sql–parser_fdb 4、合并两个版本的代码 git merge sql–parser_fdb/master 5、把最新的代码提交到github自己(micmiu)的账号上 git push origin master Share List

Continue reading


WARFRAME国际服登陆转发服务器部署教程

之前在贴吧发了个帖子,好多吧友在贴吧里面问如何架设,因为时间问题,不能一直帮忙架设,所以把步骤写下来。VPS的话我就不推荐了,Bandwagon是便宜做转发足够,如果要其他用途的话还是考虑考虑其他家的VPS吧。 另外VPS的系统使用centos 6就好,centos 7设置开机启动方法已经改变,可以给rc.local的x权限来达到目的。 首先打开ip_forward和防火墙端口: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A INPUT -p tcp -m tcp –dport 443 -j ACCEPT service iptables save Bandwagon的主机的要安装gcc,不然会报错: yum install -y gcc 完成后就可以开始下载了: wget http://www.boutell.com/rinetd/http/rinetd.tar.gz 解压: tar zxvf rinetd.tar.gz 进入目录: cd rinetd 编译安装: make make install 编辑配置文件: vi /etc/rinetd.conf 按i进入编辑,输入以下内容: 0.0.0.0 443 192.184.12.180 443 按Esc,然后:wq保存退出: 然后可以开启程序了: rinetd -c /etc/rinetd.conf […]

Continue reading


Digitalocean优化笔记

启用hybla算法 在/etc/sysctl.d目录下创建local.conf文件: 1 vim /etc/sysctl.d/local.conf 添加以下内容: 1 # max open files fs.file-max = 51200 # max read buffer net.core.rmem_max = 67108864 # max write buffer net.core.wmem_max = 67108864 # default read buffer net.core.rmem_default = 65536 # default write buffer net.core.wmem_default = 65536 # max processor input queue net.core.netdev_max_backlog = 4096 # max backlog net.core.somaxconn = […]

Continue reading


ShadowsocksR Server Setup

ShadowsocksR Server Setup 以下命令均以root用户执行,或sudo方式执行 基本库安装 centos: yum install python-setuptools && easy_install pip yum install m2crypto git ubuntu/debian: apt-get install python-pip apt-get install m2crypto git 安装cymysql pip install cymysql 获取源代码 git clone -b manyuser https://github.com/breakwa11/shadowsocks.git 执行完毕后此目录会新建一个shadowsocks目录 更新源代码 如果代码有更新可用本命令更新代码 进入shadowsocks目录 cd shadowsocks 执行 git pull 成功后重启ss服务 服务端配置 shadowsocks目录内,文件Config.py: MYSQL_HOST = ‘mdss.mengsky.net’ #前端mysql域名/IP MYSQL_PORT = 3306 #mysql端口 MYSQL_USER = […]

Continue reading