案例需求
公司使用一台运行RHEL5系统的服务器作为网关,分别连接三个网络,其中LAN1为普通员工电脑所在的局域网,LAN2为DNS缓存等服务器所在的局域网。eth0通过10M光纤接入Internet(如下页图所示)。为了有效的管理网络环境及增强内部网络的安全性,需要配置iptables防火墙规则实现基于IP地址和端口的过滤控制
需求描述
入站控制:
允许从Internet访问本机的21、25、80、110、143端口
允许从主机 201.12.13.14 访问本机的22端口(远程登录服务),每15分钟记录一次日志
允许从主机 192.168.1.5(MAC地址为00:0C:27:30:4E:5D)访问网关的22端口
允许局域网主机(LAN1:192.168.1.0/24)访问本机的3128端口(代理服务)
其他未经明确许可的入站数据包,均予以丢弃
转发控制:
允许LAN1的主机访问位于LAN2的DNS服务器(192.168.2.2)
本机出站的数据包均允许
将以上各条防火墙策略,整理为Shell脚本文件
实现思路
针对实验需求,分别编写iptables规则并进行测试(使用“-s”、“-d”选项指定源、目标IP地址,使用 “--dport”选项指定源、目标端口)
1. 允许从Internet访问网关服务器的指定端口
2. 允许来自外网指定主机的SSH访问,并记录日志
3. 允许来自内网制定主机的SSH访问
4. 允许指定局域网段使用代理服务器
5. 允许局域网主机访问DNS服务器
6. filter表INPUT、FORWARD链的缺省策略设为DROP
将上述各规则整理为防火墙脚本#!/bin/bash
[ ########################################## ] Ok