什么是DHCP服务?

动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址给用户给内部网络管理员作为对所有计算机作中央管理的手段。

安装和配置DHCP

以ubuntu为例,其余linux版本类似。

1 安装dhcp服务软件
apt-get install dhcp3-server


2 修改服务配置

ubuntu下可以指定只监听哪个网卡:

vi /etc/default/dhcp3-server
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1"


3 编辑主配置文件:

root@aslibra:~# cat /etc/dhcp3/dhcpd.conf
ddns-update-style none;

log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.100 192.168.1.253;
        option domain-name-servers 192.168.1.1, 8.8.8.8;
        option routers 192.168.1.1;
        option broadcast-address 192.168.1.255;
        default-lease-time 3600;
        max-lease-time 36000;
}


4 启动服务

/etc/init.d/dhcp3-server start


检查DHCP客户端都有哪些

你可以检查 /var/lib/dhcp3/dhcpd.leases 文件,知道当前的客户端,可这样不方便。
我用PHP写了一个脚本,方便查看客户端列表,大家可以参考:

源代码 source code - 演示地址 demo

参考阅读

1 http://baike.baidu.com/view/7992.htm
2 dhcpd.conf MAN配置手册
3 英文参考 http://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch14s10.html
Tags: , ,
         在网关上如果要封杀 QQ、MSN 或者 P2P 等软件的通讯,单纯用 iptables 逐一封服务端IP或者封通讯端口都不是很好的办法,最简单的方法是使用L7-filter。  

          L7-filter (Application Layer Packet Classifier for Linux), 是 Linux netfilter 的外挂模块, 它能使 Linux 的 iptables 支持 Layer 7 (Application 应用层) 过滤功能, 限制封杀 P2P、即时通讯软件。

Centos 4.4
Kernel 2.6.9-42.0.3.EL
Iptables 1.2.11

1.下载所需软件包:

kernel 2.6.19.7
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.7.tar.bz2

iptables 1.3.7
# wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.7.tar.bz2

L7-filter
http://sourceforge.net/projects/l7-filter/files/
netfilter-layer7-v2.12.tar.gz
l7-protocols-2007-06-22.tar.gz
假设两点:

1 不能让访问真正访问到真实服务器
2 记录访问发送的内容

我的笨方法:

1 在网关上控制数据的访问
2 建立一个网关,把所有转发数据都发送到本地webserver,记录日志
3 修改被监控的机器网关

Step 1,iptables脚本:

#!/bin/bash

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

iptables -F
iptables -t nat -F
iptables -P FORWARD ACCEPT

iptables -A INPUT -t filter -s 192.168.1.1/24 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp -d ! 192.168.1.1/24 -j REDIRECT --to-ports 80


Step 2,建立nginx记录日志(配置简化):

log_format  main  '$remote_addr - $http_host [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "||$http_cookie||" "||$request_body||"';

server {
listen       80;
server_name  localhost;
access_log  /Data/logs/host.access.log  main;
location / {
    root   html;
    index  index.html index.htm;
}
}


Step 3,修改被检测机器的网关为刚才的服务器

这个结果是,被检测的机器发送的所有外网请求都会记录在日志里,日志里包含了域名、post的数据、cookie信息等,比如:

引用
192.168.1.27 - www.aslibra.com [13/May/2010:19:50:09 +0800] "GET / HTTP/1.1" 404 169 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET
CLR 3.5.30729)"||-||" "||-||"
192.168.1.27 - 221.176.31.1 [13/May/2010:19:50:09 +0800] "POST /ht/sd.aspx?t=i&i=1 HTTP/1.1" 404 169 "-" "IIC2.0/PC 3.6.2020" "||ssi
c=||" "||-||"
192.168.1.27 - www.google.com.hk [13/May/2010:19:50:10 +0800] "GET / HTTP/1.1" 200 151 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windo
ws NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "||-||" "||-||"
192.168.1.27 - qurl.f.360.cn [13/May/2010:19:50:10 +0800] "POST /check_outchain.php HTTP/1.1" 404 169 "-" "Post_Multipart" "||-||" "
||-||"
192.168.1.27 - www.sqm.microsoft.com [13/May/2010:19:51:18 +0800] "POST /sqm/messenger/sqmserver.dll HTTP/1.1" 404 169 "-" "MSDW" "|
|-||" "||-||"
192.168.1.27 - dict.youdao.com [13/May/2010:19:51:23 +0800] "GET /fsearch?client=deskdict&keyfrom=deskdict.network_test&q=Yodao%20di
ct%20Retest&pos=7&doctype=xml&xmlVersion=3.2&dogVersion=1.0&id=3d933c2ef00b99c1&vendor=360z&in=___________________3.1.17.6336&appVer
=3.1.17.6336&le=eng&wstate=yes&proc=iexplore.exe HTTP/1.1" 404 169 "-" "Yodao Desktop Dict (Windows 5.1.2600)" "||OUTFOX_SEARCH_USER
_ID=-2146282@1.2.3.4; DESKDICT_VENDOR=360z; JSESSIONID=bfds6TxoFfFvb_uv1srIs||" "||-||"


比如可以知道机器做了啥:

1 访问阿权的书房的
2 不明白什么访问的
3 访问谷歌的
4 360提交了什么东西
5 微软提交了什么东西
6 有道词典的数据,有cookie信息

知道访问的域名了,就可以在真正的网关禁止访问某个ip($x)即可。

iptables -t nat -A PREROUTING -p tcp -m tcp -d $x -j REJECT
或者
iptables -t nat -A PREROUTING -p tcp -m tcp -d $x -j REDIRECT --to-ports 80


完成~~
PS: 我们的大大的防火墙是否也类似这样呢。。

参考阅读:

1 透明代理配置
2 使用nginx截取https数据
3 NginxHttpLogModule
4 iptables 端口转发
Tags: ,
为什么要用虚拟机?

1 机器空闲,需要充分利用资源
2 运行的程序有危险性,需要用独立的机器处理,但又没有空闲机器
3 做一些测试性的操作
4 建立脱离机器配置的服务,容易迁移到另外的服务器,备份硬盘即可

有哪些虚拟机软件?

引用
1 老牌子的 VMWare (http://www.vmware.com/)
2 已漸趨成熟的 Xen (http://www.xensource.com/)
3 後起之秀 KVM (Kernel based Virtual Machine, http://kvm.qumranet.com/kvmwiki)
4 酷!炫!有勁的 VirtualBox (http://www.virtualbox.org/)


XEN使用半虛擬化的環境所具備的特色有:

引用
虛擬機器的運作效率與實體機器的效能相當;
最多可支援到具有 32 顆以上 CPU 的主機環境;
支援 x86/32, x86/32 含 PAE 技術, 及 x86/64 的硬體平台環境;
良好的硬體驅動程式支援,幾乎支援所有的 Linux 裝置之驅動程式;


安装XEN

yum -y install kernel-xen
yum -y install xen xen-libs python-virtinst


安装相应的软件后,修改启动文件:
/boot/grub/menu.lst

把xen内核版本的作为默认启动项,比如 title CentOS (2.6.18-164.15.1.el5xen)
重启机器后,“uname -r” 检查是否内核带有xen后缀

安装虚拟机

按鸟哥的文章安装吧,其实没有那么麻烦,本地建立web服务,把centos的dvd光盘mount到某个目录,web可以访问即可。当然了,cd版本的按他的做吧。
Tags: ,
其实怎么安装proftp不用说

apt-get install proftpd


一句话就可以了,需要说明的有几点:

1 限制用户主目录

#编辑 /etc/proftpd/proftpd.conf ,打开DefaultRoot的注释即可
# Use this to jail all users in their homes
DefaultRoot                     ~


2 限制用户使用shell

如果使用/bin/false 或者是 /usr/sbin/nologin作为用户的shell,则输入正确的密码也登录不上ftp
这个主要是因为 这两个shell程序不是有效的shell程序
# /etc/shells: valid login shells

我们可以编辑 /etc/shells 加入此shell即可,用户则会登录后强制退出了

参考:
http://hi.baidu.com/jeffyqiu/blog/item/d5aba635f992ed8aa61e129b.html
Tags: , ,
分页: 10/33 第一页 上页 5 6 7 8 9 10 11 12 13 14 下页 最后页 [ 显示模式: 摘要 | 列表 ]

阅读推荐

服务器相关推荐

开发相关推荐

应用软件推荐