想說看看網站上有沒有介紹相關 VLAN 的文章, 結果意外就看到了這篇, 內容看過後雖無實際上測試, 但推敲下覺得實用性還蠻高的. 遂把實作部份擷取出來跟大家分享.
=======================================================

配置文件startup.rc的内容如下:
#设置机器名字
#根据学校名设置灵巧网关的名字
hostname gateway.xxxx
#加载相关模块
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_h323
modprobe ipt_state
modprobe iptable_nat
modprobe ip_nat_ftp
modprobe ip_nat_h323
#设置每个IP最多200个连接,最多20个有效TCP连接
iplimit addlocal 192.168.0.0 255.255.0.0 200 20
#IP地址设置,后面的/28指网络掩码中1的个数,其中eth0接口上要设置多个IP地址
ip addr add 218.22.166.99/28 dev eth0
ip addr add 218.22.166.101/28 dev eth0
ip addr add 218.22.166.102/28 dev eth0
ip addr add 218.22.166.103/28 dev eth0
ip addr add 218.22.166.104/28 dev eth0
ip addr add 192.168.1.254/24 dev eth2
ip link set eth0 up
ip link set eth2 up
#IP路由设置
#缺省路由
ip route add 0/0 via 218.22.166.97
#到校内192.168.*.*的路由,下一跳是主干交换机的IP地址
ip route add 192.168.0.0/16 via 192.168.1.253
#如果要使用dhcp服务器,需要把下面行的注释删掉
dhcpd
配置文件multirun.rc的内容如下:
iptables -F
iptables -t nat -F
#地址转换,设置
# 218.22.166.101 192.168.1.11 WWW
# 102 192.168.1.12
# 103 192.168.1.13
# 104 192.168.1.14
#每个IP需要3条设置
#第一行设置进来的转换
#第二行设置出去的转换
#第三行的意义是,校内用户连接内部服务器对应的公网IP地址时,转换成是从
#灵巧网关上发起的,保证应答包能经过网关
iptables -t nat -A PREROUTING -j DNAT -d 218.22.166.101 --to 192.168.1.11
iptables -t nat -A POSTROUTING -j SNAT -o eth0 -s 192.168.1.11 --to 218.22.166.101
iptables -t nat -A POSTROUTING -j SNAT -s 192.168.0.0/16 -d 192.168.1.11 --to 192.168.1.254
iptables -t nat -A PREROUTING -j DNAT -d 218.22.166.102 --to 192.168.1.12
iptables -t nat -A POSTROUTING -j SNAT -o eth0 -s 192.168.1.12 --to 218.22.166.102
iptables -t nat -A POSTROUTING -j SNAT -s 192.168.0.0/16 -d 192.168.1.12 --to 192.168.1.254
iptables -t nat -A PREROUTING -j DNAT -d 218.22.166.103 --to 192.168.1.13
iptables -t nat -A POSTROUTING -j SNAT -o eth0 -s 192.168.1.13 --to 218.22.166.103
iptables -t nat -A POSTROUTING -j SNAT -s 192.168.0.0/16 -d 192.168.1.13 --to 192.168.1.254
iptables -t nat -A PREROUTING -j DNAT -d 218.22.166.104 --to 192.168.1.14
iptables -t nat -A POSTROUTING -j SNAT -o eth0 -s 192.168.1.14 --to 218.22.166.104
iptables -t nat -A POSTROUTING -j SNAT -s 192.168.0.0/16 -d 192.168.1.14 --to 192.168.1.254
#其他出去的转换,都转化成从网关的IP出去的
iptables -t nat -A POSTROUTING -j SNAT -o eth0 -s 192.168.0.0/16 --to 218.22.166.99
#IP包过滤设置
#首先允许所有建立的连接
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -p icmp
#www服务器,允许连接TCP80端口,其他的被拒绝,并记录日志
#记录日志时每分钟最多记录10条日志
iptables -A FORWARD -j ACCEPT -p tcp -d 192.168.1.11 --dport 80
iptables -A FORWARD -j LOG -d 192.168.1.11 -m limit --limit 10/min --log-prefix " WWW "
iptables -A FORWARD -j REJECT -d 192.168.1.11
#mail服务器
iptables -A FORWARD -j ACCEPT -p tcp -d 192.168.1.12 --dport 25
iptables -A FORWARD -j ACCEPT -p tcp -d 192.168.1.12 --dport 80
iptables -A FORWARD -j ACCEPT -p tcp -d 192.168.1.12 --dport 110
iptables -A FORWARD -j ACCEPT -p tcp -d 192.168.1.12 --dport 143
iptables -A FORWARD -j LOG -d 192.168.1.12 -m limit --limit 10/min --log-prefix " mail "
iptables -A FORWARD -j REJECT -d 192.168.1.12
#192.168.1.13
iptables -A FORWARD -j ACCEPT -p tcp -d 192.168.1.13 --dport 80
iptables -A FORWARD -j LOG -d 192.168.1.13 -m limit --limit 10/min --log-prefix " 1.13 "
iptables -A FORWARD -j REJECT -d 192.168.1.13
#192.168.1.13
iptables -A FORWARD -j ACCEPT -p tcp -d 192.168.1.14 --dport 80
iptables -A FORWARD -j LOG -d 192.168.1.14 -m limit --limit 10/min --log-prefix " 1.14 "
iptables -A FORWARD -j REJECT -d 192.168.1.14
4.DHCP配置
使用DHCP可以简化网络的管理。考虑到可靠性,一般不建议使用Windows 2000Server作为DHCP服务器,而建议使用交换机或灵巧网关作为DHCP服务器。
在校园网中使用DHCP服务器时,如果DHCP服务器和客户被三层交换机隔离开,需要在三层交换机上使用dhcp relay把客户机的DHCP请求转发到DHCP服务器。
把灵巧网关作为DHCP服务器,需要以下设置:
配置dhcpd.cf文件
在startup.rc中启动dhcpd
下面是dhcpd.cf的配置实例:
#缺省的域名
option domain-name "xxxx.net";
option domain-name-servers 202.102.192.68;
default-lease-time 60000;
max-lease-time 72000;
#如果使用WINS服务,设置WINS服务器
#option netbios-name-servers 192.168.1.1;
#option netbios-dd-server 192.168.1.1;
#option netbios-node-type 8;
#eth0接口,不启用DHCP
subnet 218.22.166.96 netmask 255.255.255.248 {
not authoritative;
}
#其他
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.30 192.168.1.200;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.30 192.168.2.200;
option broadcast-address 192.168.2.255;
option routers 192.168.2.254;
}
subnet 192.168.3.0 netmask 255.255.255.0 {
range 192.168.3.30 192.168.3.200;
option broadcast-address 192.168.3.255;
option routers 192.168.3.254;
}
subnet 192.168.4.0 netmask 255.255.255.0 {
range 192.168.4.30 192.168.4.200;
option broadcast-address 192.168.4.255;
option routers 192.168.4.254;
}
============================================================
[註] 以上內容原處為: http://www.cnx8.com/fwq-fh-iptables/2004-09-17-04-47-04.htm

