实验环境:hy.com的一台linux主机即iptables服务器(两块网卡,在不同的vlan中,
eth0划分到vlan1192.168.0.1内网,eth1划分到外网vlan3172.16.0.1),一台windows
service2003主机(在vlan3中外网,有http服务172.16.0.2) 一台xp192.168.0.2划分到
vlan1中!
实验结果: 一:在hy.com中,只有指定的主机(192.168.0.2)能访问外网主机的
web网站ftp服务器,其他的主机不行!
实验步骤:
1.给主机配好固定的ip,且各主机之间能ping通!
2.查看linux主机上是否安装iptables服务:(默认是安装好了的)
rpm -q iptables
3.默认情况下,FORWARD功能没有开启(路由功能).因此需要手动开启(有两
种方法)
(1) 直接的:echo 1 >/proc/sys/net/ipv4/ip_forward 这种方式开启的话不能永久生
效,即重启网卡后会失效!
(2) 编辑 /etc/sysctl.conf文件
修改:net.ipv4.ip_forward = 1 (这种方式能永久生效)
3.编写规则: (由于有很多规则,所以都写在一个脚本文件中,然后在一起
运行!脚本文件随便放在哪里,名字也可随便取,我们这里编写的是iptables.sh,
放在/root下面)
脚本内容:
#!/bin/bash
#author:hy
#date:2009.5.11 这两行可以不写!只是注释而已
#flush and clear rules
iptables -F
iptables -Z
iptables -X
#set default rules
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP (先拒接全部的转发)
#accept access fw 20 21 80
iptables -A FORWARD -s 192.168.0.2 -p tcp -m multiport --dport 20,21,80 -j
ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
(状态检测)
modprobe ip_conntrack_ftp (加载ftp模块)
4.运行脚本文件:(有两种)
(1) bash +脚本名称 在这里是:bash iptables.sh
(2) ./iptables.sh (运行这个命令之前要赋予执行的权限,即 chmid o+x
iptables.sh)
如果脚本出现错误时,运行的时候会报错的!
5.启动一下服务: service iptables restart
再运行一下脚本:bash iptables.sh
http://09230923.blog.51cto.com/750460/156940