分类: LINUX
2009-12-12 10:56:10
公司网络基本概况:
1现有1个四口路由器,支持无线,支持端口映射。
2有2个交换机,1个16口,1个24口,(接入超出24口,所以另加一个接到路由,同网段)
3公司内部有samba服务器,不准访问外网。其余楼上机器可以访问外网,楼上不可以访问内外。(IP分别为192.168.1.1* 和192.168.1.2*)无线网段则为192.168.1.200----253之间,无线则不能访问samba。
由于业务需要,老板要求公司的楼上只可以上skype不能上网,楼下正常。特此买了一台机器做代理,顺便做监控,在顺便做ftp。(本机单网卡)
分析案例:
首先新机器采用linux 系统(ubuntu),做代理方便,先确保本机可以上网
IP=192.168.1.189/24
Gateway=192.168.1.1
确保了本机上网正常了,再来设置代理地址映射:
我写的脚本,基本内容如下:
Vim iptables_office.sh
IPT=/sbin/iptables
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i eth0 -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A INPUT -p udp --dport 53 -j ACCEPT
$IPT -A INPUT -p tcp --dport 53 -j ACCEPT
$IPT -A INPUT -p tcp --dport 22 -j LOG --log-prefix="SSH : "
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 8080 -j ACCEPT
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT
$IPT -A INPUT -p tcp --dport 25 -j ACCEPT
$IPT -A INPUT -p tcp --dport 2000-2121 -j ACCEPT
$IPT -A INPUT -p icmp -j LOG --log-prefix="ICMP : "
$IPT -A INPUT -p icmp -m icmp --icmp-type 1 -j ACCEPT
$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
$IPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o eth0 -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 8080 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 443 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 25 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 2000-2121 -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp --icmp-type 1 -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
$IPT -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -p tcp --dport 443 -j SNAT --to 192.168.1.189:443 #本条用于skype出站
$IPT -A FORWARD -s 192.168.1.0/255.255.255.0 -i eth0 -j ACCEPT
$IPT -A FORWARD -i eth0 -p tcp --dport 443 -j ACCEPT
$IPT -A FORWARD -o eth0 -p tcp --dport 443 -j ACCEPT
echo "1" > `grep "ip_forward" /proc/ `
这个是最基本的命令,关于ftp稍后继续添加
echo "/root/iptables_office"/etc/rc.local
测试skype,让楼上的机器路由和网关指向192.168.1.189 测试skype 正常,不能上网正常,用"netstat -an || grep "ESTAB" 检查
添加ftp
下载vsftpd, 安装很简单,不多说了,配置更简单,也不说了
添加iptables_office.sh
$IPT -A INPUT -p tcp --dport 21 -j LOG --log-prefix="FTP : "
$IPT -A INPUT -p tcp --dport 21 -j ACCEPT
$IPT -A INPUT -p tcp --dport 20 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 21 -j ACCEPT
这里主动与被动连接不同,添加也个不同,需要匹配端口。
因为是这个也是内网机器,所以要修改路由器,用路由器做转发,htttp://192.168.1.1
Program name: vsftpd type: FTP dst port : 21
IP: 192.168.1.189 dst port 21 (这个是目的最终转发的实际地址和端口)
最好在添加一行,我个人认为
Program name: vsftpd type: FTP-data dst port : 20
IP: 192.168.1.189 dst port 20
内网 外网分别测试。通过。
chkconfig vsftpd on 打开启动加载项
因为ftp服务器里面的文件很关键,所以ftp的目录全部用了分区软raid
做raid5
fdisk /dev/sda ===> n ===> ......===> t ===> L===>> fd ===> w
这里我做了3个分区 。是/dev/sda[7,8,9]
partprobe 磁盘状态改变生效,或重启。
开始做raid5
mdadm -C /dev/md0 -l5 -n 2 -c 128 -x 1 /dev/sda[7,8,9,10] -a yes #创建raid5
mdadm -D /dev/md0 #检查md0启动信息
echo "DEVICE /dv/sda[789]" >> /etc/mdadm/mdadm.conf #创建阵列记录
mdadm -Ds >> /etc/mdadm/mdadm.conf #写入uuid
nohup madm --monitor --delay 300 /dev/md0 & #监控阵列
mdadm -S /dev/md0 #停止md0
mdadm -As #启动md0
mdadm -f /dev/md0 --fail /dev/sda7 # 模拟/dev/sda7故障测试
mdadm -D /dev/md0 # 再次查看阵列变化
mdadm -a /dev/md0 /dev/sda11 # 添加一个空白的磁盘到阵列
然后格式化磁盘
mkfs -j /dev/md0
e2fsck -j /dev/md0
mkdir /var/ftp
mount /dev/md0 /var/ftp
echo "/dev/md0 /var/ftp ext3 defaults 0 2 " >> /etc/fstab
mount -a #检查下
echo "/sbin/mdadm -As" >> /etc/rc.local
建立3个ftp用户,guest 用于客户,prod用于外包,ftpub用于公司员工上传下载.
groupadd ftp
useradd -d /var/ftp/guest -G ftp guest
useradd -d /var/ftp/prod -G ftp prod
useradd -d /var/ftp -g ftp ftpub #可能会报错,但可正常应用
chown ftpub:ftp /var/ftp/
以上用户分配的家目录方便公司内部下载客户和外包的资料,而其他两个帐号却不能那么做。(这里说明,使用了vsftpd.chroot_list,只添加了ftpub)
分别给密码后测试,一切正常。
然后重新启动下,看看rc.local下是否正常启动,有没有什么问题。
下面就是做监控了,这里我采用了zabbix ,是一款开源的监控软件,很不错,大家有兴趣可以去网络找些资料了解下。 现在有事,暂时写到这里,明天把zabbix安装和图标编辑贴上来。