FreeTstar

loving Freedom + + loving Linux

  • 首页
  • Archive
  • 关于
  • 杂七杂八
  • 留言板
Twitter Sina RSS
分类归档:服务器

linux服务器

linux下限制局域网内部使用p2p软件的主机

发布于 2011年11月7日 由 freetstar
6 条评论

windows下有p2p终结者,linux下咱有dsniff,介绍:here,其的用途之一就是做arp欺骗,具体命令是arpspoof.

作用:

arpspoof将局域网内的目标主机或者是所有主机的发送数据包通过ARP欺骗来重指向。在使用交换机的局域网环境下是一个非常有效的方法来嗅探数据:)

注意:kernel的ip转发必须要提前打开

使用:

arpspoof [-i interface] [-t target] host
-i 用来指示要使用的网卡接口,一般是eth0,
-t 用来指示要欺骗的目标主机,如果不表明则默认为局域网内部的所有主机
host 你要截取数据包的主机,通常是网关

具体使用:

环境archlinux ,要限制的ip为192.168.0.29,本机ip为192.168.0.24,实验室网管为192.168.0.1

1 安装

sudo pacman -S dsniff

2 开启内核转发和欺骗

#echo 1 > /proc/sys/net/ipv4/ip_forward

#欺骗192.168.0.29,告诉这台机器网关192.168.0.1的MAC地址是自己(192.168.0.24)。

$sudo arpspoof -i eth0 -t 192.168.0.29 192.168.0.1

#欺骗192.168.0.1,告诉网关192.168.0.29的MAC地址是自己(192.168.0.24)

$sudo arpspoof -i eth0 -t 192.168.0.1 192.168.0.29

192.168.0.29以为192.168.0.24就是192.168.0.1,192.168.0.1以为192.168.0.24就是192.168.0.29

3 利用iptables开始限速

#192.168.0.29被限制每秒只能传输3个数据包了

$sudo iptables -A FORWARD -s 192.168.0.29  -m limit --limit 3/s -j ACCEPT           $sudo iptables -A FORWARD -d 192.168.0.29 -m limit --limit 3/s -j ACCEPT                  $sudo iptables -A FORWARD -s 192.168.0.29  -j DROP                                                 $sudo iptables -A FORWARD -d 192.168.0.29  -j DROP   

4 当然,如果你想干坏事的话可以用 urlsnarf 或者wireshark之类的。。。。恩

 

参考资料:

http://microcai.gsalex.net/archives/2010/11/p2p-killer-for-linux.html

http://www.yuanma.org/data/2006/0914/article_1536.htm

分类:服务器

Linux下OpenVPN+chnroute聪明访问WEB

发布于 2011年06月18日 由 freetstar
21 条评论

Linux下搭建OpenVPN方法:here,默认搭建好OpenVPN之后所有流量和数据都是通过VPS上的OpenVPN server提出的,也就是自身的访问IP总是美国的IP,内地网站可能屏蔽外国IP,

还有就是数据绕了一圈之后速度肯定会慢很多,所以聪明访问WEB就很必要了

感谢Chnroutes项目,解决了问题,here:

第一步,查看OpenVPN版本,本文采用的2.1版本的配置方法,底版本见wiki

openvpn --version
OpenVPN 2.1.0 x86_64-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Jul 12 2010
Originally developed by James Yonan
Copyright (C) 2002-2009 OpenVPN Technologies, Inc. <sales@openvpn.net>

第二步:

下载python脚本:here,依次运行
python chnroutes_openvpn_v2.1   //产生路由信息文件routes.txt
sudo cat routes.txt >>/etc/openvpn/client.conf   //将routes.txt文件的内容添加到openvpn客户端的配置文件里
sudo vim /etc/openvpn/client.conf
在第一行添加max-routes 3000,保存退出
第三步:
sudo /etc/init.d/openvpn reload    //重新读取配置文件
分别访问http://www.wangsu123.cn/和http://formyip.com/,
如果成功,第一个应该显示为国内IP,如天津市XXXX,第二个显示的是VPS的IP地址
注:有特殊情况的可以改/etc/hosts配置文件.手动指定ip和域名

 

分类:服务器

VPS搭建OpenVPN教程

发布于 2011年06月17日 由 freetstar
10 条评论

此文用于技术实验,请勿用于”非法”目的,留言时谢谢”配合”,

我尽量在文章中详细解释每一步,自己对网络的知识也是通过G##F##W##建立起来的,有的地方不对,望指正,如果有更多的网络知识疑问,call@Jasey_Wang(网络信息安全党) @ihipop(VPN老手)

实验环境:

VPN server:米国VPS(网通链接速度比较快),OS:ubuntu server 10.10

VPN Client:本机,国内的一个PC,OS:ubuntu desktop 10.10

整体思路:

在服务器端安装和配置好openvpn,生成服务器端和客户端的证书和认证密钥,同时配置好服务器端的网络情况,设置允许数据包转发,将客户端的证书下方到客户端电脑上,同时客户端电脑安装openvpn,修改必要的配置文件,去链接远程的vpn服务器


第一步:布置VPN server端

1)更新VPS 自身软件至最新

#apt-get update
#apt-get upgrade --upgrade 阅读全文 ……
分类:服务器

在centos5.5上配置nagios详细步骤

发布于 2011年03月9日 由 freetstar
17 条评论

本文环境

cat /etc/issue 操作系统为Centos release 5.5(Final)
uname -a       位数为64位
本文假设安装配置时用户是root
第一步:安装必要的环境
  • yum install httpd php5        //apache和php5
  • yum install gcc glibc glibc-common //gcc 编译器
  • yum install gd dg-devel      //GD开发库
  • yum install mysql-devel.x86_64 //安装64位的mysql工具包
第二步:配置必要的用户
  • useradd -m nagios     //增加nagios用户
  • passwd  nagios        //设置nagios用户的密码,恩,你应该懂的
  • groupadd nagcmd       //新增一个nagcmd用户组,以允许外部命令能够通web界面提交
  • usermod -a -G nagcmd nagios
  • usermod -a -G nagcmd apache //把apache运行用户加到nagcmd,这里是apache,当然你可以用其他名字,比如说nobody 阅读全文 ……
分类:服务器

Redhat4.8配置bond0小记

发布于 2011年01月8日 由 freetstar
25 条评论

武清机房1日游
先上几张小图…


最后系统装完搞定之后,大哥吩咐做bond0,结果被乙方公司派来搞服务器的哥们儿不会做,立马上手坐,之前只稍微看过一点文档,
打开手机,uc,接着问google大哥,于是有了这篇小记:

bond0的原理:
将两块以及更多的网卡虚拟成有一个网卡,形成一个ip对外提供服务.有利于负载均衡,
bond0的制作:
以Redhat4.8为例子
第一步:首先确认系统支持

modprobe bond[tab]看一下是否有对应的模块

第二步: 阅读全文 ……

分类:服务器

用sed截取程序日志中某个时间范围内的文本

发布于 2010年12月31日 由 freetstar
14 条评论

需求:从日志信息中提取特定时间范围内的日志,并将其发送至远程主机上
分析:一般的需求只是以两个特定的时间点做要求,比如说12:00:00到13:00:00这两个准确时间点之间的日志信息,同时日志中肯定是存在这两个时间点的
本需求只是求个范围值,比如说12点到13点之间的日志信息,并不能确定日志中有这两个时间点,也就说有可能只是12:00:01这样的时间点

 #!/bin/bash
#scp today's error.log and profler.log to the mailserver
#author:liangaoxin
#date:20101231
<!--more-->
#working directory
pwd=/u01/lgx/temp
#destination's IP
dst=192.168.33.41
#foemat the date
today=`date '+%Y-%m-%d'`

if [ -e app.log.${today} ]
then
        ###截取6点和8点之间的日志信息,通过来取得时间,如06:00:01,更详细的日志信息格式就不多写了,类似于apache一般的access_log,本脚本也只是个思路而已
      start=`cut -c12-19 app.log.{today}|grep -n "..:..:.."|awk -F: '$2<9 && $2>05 {print $1}'|head -n1`
        stop=`cut -c12-19 app.log.{today}|grep -n "..:..:.."|awk -F: '$2==9 {print $1}'|head -n1`
        sed -n "${start},${stop-1}p" app.log.${today} >app.log.${today}.send
        scp -p /u01/log/temp/app.log.${today}.send lgx@${dst}:/home/lgx/$(hostname)/
fi
要是指定特定时间段内日志信息的提取会简单的多,如下
sed -n '/15:32:30/,/16:12:09/p' access_log >log.txt

祝大家新年快乐~^_^

分类:服务器

小记:给postfix设置黑名单

发布于 2010年12月10日 由 freetstar
6 条评论

公司的邮箱近几天总是收到某一个QQ邮箱的垃圾邮件,公司的MTA用的是postfix(postfix现在很流行啊),我简单记录下怎么给postfix设置黑名单:
Step 1 在主配置文件中增加限制语句
#vi /etc/postfix/main.cf
在最后添加这样的一句话
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access
//即限制往本机发邮件的人
Step 2 编辑黑名单
#vi /etc/postfix/sender_access
spamer1@expample.com REJECT
spamer2@expamle.com REJECT
//其中对应的邮箱设置成实际在打扰你的邮箱即可 阅读全文 ……

分类:服务器

近况

发布于 2010年11月24日 由 freetstar
27 条评论

最近主要在公司实习,公司是天津文化艺术品交易所,我爱文交所!
关于文交所的新闻:

http://finance.ifeng.com/roll/20101124/2944466.shtml

http://www.tianjinwe.com/tianjin/tbbd/201011/t20101122_2566309.html

最近文交所交易启动模式刚举办完,很爽!CCTV和市领导都来了,都很重视这件事,我为文交所骄傲

插张图

接下来说说我的工作生活吧。公司人不多,气氛非常非常好,领导和我的大哥大姐们打成一片,气氛很融洽,不用担心说错什么

这个礼拜的礼拜一,文交所举办了交易启动仪式,晚上大家都去酒店庆祝,当时我直接喝晕了,哈哈,还是说说工作上的一些烦心事吧

阅读全文 ……

分类:服务器

iptables 小笔记

发布于 2010年11月15日 由 freetstar
23 条评论

Iptables 介绍

对于Internet上的系统,不管是什么情况都要明确一点:网络是不安全的。因此,虽然创建一个防火墙并不能保证系统100%安全,但却是绝对必要的。Linux提供了一个非常优秀的防火墙工具—netfilter/iptables。它完全免费、功能强大、使用灵活、可以对流入和流出的信息进行细化控制,且可以在一台低配置机器上很好地运行。netfilter/iptabels应用程序,被认为是Linux中实现包过滤功能的第四代应用程序。netfilter/iptables包含在2.4以后的内核中,也就是在2.6的内核中开始应用,它可以实现防火墙、NAT(网络地址转换)(自己搭建VPN服务器的同学都知道是怎么回事吧 )和数据包的分割等功能。
netfilter工作在内核内部,而iptables则是让用户定义规则集的表结构。
iptables的使用前提你是root用户,iptables的前身是ipchains,在2.6内核版本中,ipables取代了ipchains作为内核的过滤墙

如果你自建过VPN翻墙的话,你一定记得这两行代码:

echo "1" > /proc/sys/net/ipv4/ip_forward
//开启ipv4数据转发,即本机路由转发功能
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source XXX.XXX.XXX.XXX
//就是将本地vpn对应的网卡的ip地址转换到服务器对外的ip地址

Iptables求助

查看帮助:man iptables

iptables中文手册:Iptables 指南 1.1.19

Iptables语法

一般语法如下:

iptables [-t table] command [match] [target] 

table:表,包含仅处理特定类型信息包的规则和链的信息包过滤。表是由许多链组成的,链是有顺序的
一般有3个表

filter:缺省的表,用于一般的信息包过滤,包含INPUT,OUTPUT,FORWARD
nat:用于要转发的信息包,包含PREROUTING,OUTPUT,POSTROUTING链
mangle:包含一些规则用于标记高级路由的信息包。。属于高级用法的表哈,我也不太熟悉,就不介绍了

command:当然是命令了

-A --append:该命令将一条规则附加到链的末尾
-D --delete:删除特定链接
-P --policy:设置链的缺醒目标
-N --newchain:用命令中所指定的名称创建一个新链
-F --flush:如果指定联名,则删除链中的所有规则;否则,删除所有链中的所有规则
-L --list 列出指定链中的所有规则

match:匹配。指定信息包与规则匹配所具有的特征:如源地址,目的地止,协议。

-p --protocol 可以匹配tcp,udp,icmp,还有ALL是默认阿
-s --source 根据源IP来匹配,源ip还可以是一个范围
-d --destination ip目的地址,当然也可以是一个范围

target:目标

ACCEPT:接受呗
DROP:阻塞呗
REJECT:与DROP稍微不太一样的地方是,REJECT不会在服务器和客户机上留下死套接字

iptables安装:

现在大多数linux发行伴在安装时会默认安装iptables
ubuntu查看是否安装dpkg -l|grep iptables 安装: sudo apt-get install iptables
redhat查看是否安装rpm -qa|grep iptables 安装:yum install iptables

iptables开机启动:

redhat:ntsys设置开机启动
iptables:可以用一些第三方的工具 //你有没有啥更好的方法

iptables实例:

1 阻止网络上已知的主机攻击我的机器

wget -qO - http://infiltrated.net/blacklisted|awk '!/#|[a-z]/&&/./{print "iptables -A INPUT -s "$1" -j DROP"}'
//blacklisted是网络上一份肮脏主机的黑名单,几小时更新一次。 如果想自动执行上边的iptables命令,在后边添加|sh &

2 将一个大号端口转换到80号端口

iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 9001
//允许普通用户以高端口号运行一个守护进程,但是看起来却是以低端口进行的。比如说用户可以用80号端口使用网站,而apache却是在监听9001

3 使用代理

iptables -t nat -A OUTPUT -d 10.0.0.0/8 -p tcp --dport 80 -j DNAT --to-destination 10.1.1.123:3128
将传送到子网10.0.0.0/8的封包的目的地址改为代理的地址

4 设置只能同时有10个ssh链接

/sbin/iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 10 -j REJECT
//将ssh链接限制在10个,再多的将会被reject

5 限制ssh每隔15秒才能重连

iptables -A INPUT -p tcp -i eth0 -m state --state NEW --dport 22 -m recent --update --seconds 15 -j DROP
iptables -A INPUT -p tcp -i eth0 -m state --state NEW --dport 22 -m recent --set -j ACCEPT

6 允许访问多个端口

iptables -A INPUT -p tcp -m multiport --dports 22,80,143,6000:6003 -j ACCEPT
//运行同时访问多个端口,单个端口可以独立写出,范围可以用“:”表示 ”

7 封杀BT

/sbin/iptables -A FORWARD -i eth0 -p tcp –dport 6881:6890 -j DROP

8 使自己不能ping 通自己

iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP

iptables-save和iptables-resume:
iptables-save命令:
iptables-save把当前规则放进一个文件以备iptables-restore使用

语法:iptables-save [-c] [-t table]
-c的作用是保存包和字节计数器的值。这可以使我们在重启防火墙后不丢失对包和字节的统计。这个参数默认是不使用的。
参数-t指定要保存的表,默认是保存所有的表。下面给出未装载任何规则的情况下iptables-save的输出。

iptables-restore用来装载由iptables-save保存的规则集。不幸的是,它只能从标准输入接受输入,而不能从文件接受。下面是它的事方法:

语法:iptables-restore [-c] [-n]
参数-c要求装入包和字节计数器。如果你用iptables-save保存了计数器,现在想重新装入,就必须用这个参数。它的另一种较长的形式是–counters。
参数-n告诉iptables-restore不要覆盖已有的表或表内的规则。默认情况是清除所有已存的规则。这个参数的长形式是–noflush。

参考:

http://www.ibm.com/developerworks/cn/linux/network/s-netip/

http://www.phpfans.net/article/htmls/200608/MjE2OTcy.html

http://forum.ubuntu.org.cn/viewtopic.php?t=478

http://www.vsharp.cn/post/28.html

http://linux.ccidnet.com/art/737/20040317/96576_1.html

分类:服务器

Redhat AS4U8下apache和tomcat安装及整合小记

发布于 2010年10月27日 由 freetstar
12 条评论
准备工作:将所有需要的配置文件和软件copy到install目录
[lgx@oracle install]$
  pwd      #当前路径,安装包所在路径
  /usr/local/install
[lgx@oracle install]$
ls         #列出安装软件包及其版本
apache-tomcat-6.0.26.zip  httpd-2.2.15.tar.gz   jdk-6u20-linux-i586.bin
mod_jk-1.2.28-httpd-2.2.X.so//注意整合模块与apache版本的匹配

一  建立user1用户  #以后用user1身份来启动tomcat


l  建立程序运行账号
useradd  -d  /home/user1  -u 800  user1
passwd  user1
user1  属主目录 /home/user1   UID 800  GID800
2  改变/home/user1的属主
chown  user1:user1  -R  /home/user1

二  安装apache服务器


1  切换到user1用户
su – user1
2  安装文件解压
tar  zxvf  httpd-2.2.15.tar.gz
3  进入解压后目录
[user1@oracle install]$cd httpd-2.2.15
4  编译安装
[user1@oracle httpd-2.2.15]$./configure –prefix=/home/user1/apache2.2.15 –enable-so  –enable-mods-shared=all
[user1@oracle httpd-2.2.15]$ make
[user1@oracle httpd-2.2.15]$ make install

三 安装JDK

1 进入/usr/local/install目录
[user1@oracle install]$ sh jdk-6u20-linux-i586.bin
一直点击回车,然后输入yes,再回车,等待安装完成,出现如下信息说明安装成功
Product and system data will be collected. If your configuration
supports a browser, the Sun Product Registration form for
the JDK will be presented. If you do not register, none of
this information will be saved. You may also register your
JDK later by opening the register.html file (located in
the JDK installation directory) in a browser.
For more information on what data Registration collects and
how it is managed and used, see:
http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html
Press Enter to continue…..
2 移动jdk的目录到目标目录
[user1@oracle install]$ mv jdk 1.6.0_20/ /home/user1/jdk
3 设置user1用户的环境变量
[user1@oracle jdk]$ cd ~
[user1@oracle ~]$ vi .bash_profile
在.bash_profile文件中添加如下的变量信息
export JAVA_HOME=/home/user1/jdk
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
export JRE_HOME=/home/user1/jdk
4  测试一下
[user1@oracle bin]$ java -version
java -version 1.6.0_20
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
出现上述信息说明,安装成功

四 安装tomcat

1进入6.0.266.0.26.zip
这时在/usr/local/install目录下会产生apache-tomcat-6.0.26目录
2 生成tomcat目录
[user1@oracle install]$ mv apache-tomcat-6.0.26 /home/user1/tomcat6
3 设置用户的变量

vi .bash_profile
export CATALINA_HOME=/home/user1/tomcat6
export CATALINA_BASE=/home/user1/tomcat6
4
source ~/.bash_profile

五 启动apache和tomcat

1 启动apache
切换到root,及apache目录中
[root@oracle bin]# ./apachectl -k start
2 以user1用户身份启动tomcat

[user1@oracle bin]$ ./startup.sh
Using CATALINA_BASE:   /home/user1/tomcat6
Using CATALINA_HOME:  /home/user1/tomcat6
Using CATALINA_TMPDIR: /home/user1/tomcat6/temp
Using JRE_HOME:        /home/user1/jdk
Using CLASSPATH:     /home/user1/tomcat6/bin/bootstrap.jar
3 打开浏览器测试一下是否成功
apache 打开浏览器输入http://localhost,显示It works!!!则成功
Tomcat 打开浏览器输入http:/localhost:8080 显示大猫则成功

六 整合apache和tomcat

1 jk模块支持,进入install目录
Mv mod_jk-1.2.28-httpd-2.2.X.so /home/user1/apache2.2.15/modules/mod_jk-1.2.28.so
2 在apache的conf文件夹下建立workers.properties文件,内容如下

worker.list=portal_worker
worker.portal_worker.port=8009
worker.portal_worker.host=localhost
worker.portal_worker.type=ajp13
worker.portal_worker.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=portal_worker
3 编辑apache的httpd.conf文件
在加载模块处添加
LoadModule jk_module modules/mod_jk-1.2.28.so
然后在文件末尾添加如下内容
JkWorkersFile   conf/workers.properties
JkShmFile       logs/mod_jk.shm
JkLogFile       logs/mod_jk.log
JkLogLevel      error
JkMount /ProxoolAdmin.svl portal_worker
JkMount /fckeditor/editor/filemanager/connectors/* portal_worker
JkMount /CheckCode.svl portal_worker
JkMount /*.do portal_worker
JkMount /*.htm portal_worker
JkMount /*.jsp portal_worker
JkMount /*.jspa portal_worker
JkMount /*.jspx portal_worker
JkMount /*.php portal_worker
JkMount /*.asp portal_worker
4 检查tomcat 的server.xml文件,在context修改网站目录,使其与apache的DocumentRoot一致
将context区域修改成<docBase="/home/user1/apache2.2.15/htdocs"
5 测试是否整合成功
在apache的htdocs目录下新建一个showtime.jsp文件
具体内容如下:
<%@page language=”java” import=”java.util.*”%>
Now Time is : <% out.println(new Date()); %>
打开浏览器输入:http://localhost:8080  大猫出现,ok,tomcat运行正常
打开浏览器输入:http://localhost/showtime.jsp出现时间,整合成功
六 :本人新手,本文档也不是原文档,是自己总结的,可能会有错误,仅供参考
分类:服务器

浅谈ubuntu10.04 server Apache2.0 性能优化

发布于 2010年07月4日 由 freetstar
13 条评论

近来VPS的Apache耗MEM耗得可怕,于是想到优化下Apache2

Apace2.0 中最影响性能优化的最核心特性是:MPM(Multi-Processing Modules)

要想让Apache的性能最佳,第一步要做的,就是要选择合适的MPM

下面简单介绍Apache2的3个MPM

event模式

比较适合那些需要有大量持续链接(KeepAlive traffic)的情况.KeepAlive的好处是,可以在同一个TCP链接中响应多次请求;这种方式,可以使一个包含大量图片的HTML文档加速50%.在配置文件中设置KeepAlive为On,即可启用KeepAlive 阅读全文 ……

分类:服务器 | 标签:ubuntu 10.04 server apache2
第 1 页,共 1 页1
  • 欢迎订阅

  • Github

  • 近期评论

    • freetstar CHINA Mozilla Firefox Linux 发表在《留言板》
    • _Fly CHINA Google Chrome Linux 发表在《使用e4rat加速你的linux启动速度(ext4文件系统专用)》
    • walfred Mozilla Firefox Windows 发表在《留言板》
    • freetstar CHINA Mozilla Firefox Windows 发表在《用landslide创建html5 slide》
  • Spread Firefox Affiliate Button
  • 我的豆瓣

  • 链接表

    • 51开源社区
    • Adam's
    • delectate's blog
    • Don's
    • fl
    • ghostunix
    • Jasey Wang
    • Jerry's Blog
    • Moolight@Ericyue
    • OSMSG
    • panda
    • Pity is the Bomp
    • PT ubuntu
    • Tao Zhu
    • ubuntuhome
    • WOW!ubuntu
    • zhangzhfang
    • 丕字的blog
    • 傻东の学习笔记
    • 奶牛的blog
    • 孤风颠影
    • 弯柚博客
    • 熊猫党军委主席
    • 靖 轩
    • 马力哥
    • 黑孩儿
  • 我的支付宝

  • 功能

    • 登录
    • 文章 RSS
    • 评论 RSS
    • WordPress.org
© FreeTstar. WordPress 强力驱动 | Nest Theme by YChong