步骤
实现此案例需要按照如下步骤进行。
步骤一:编写典型的Linux网关防火墙脚本
1)编写脚本文件/opt/ipfw-gw.sh
[root@gw1 ~]# vim /opt/ipfw-gw.sh
#!/bin/bash
## 2015.05.20 TsengYia.
#### 1. 定义方便移植的环境变量 ####
INET_IF="eth1"
INET_IP="174.16.16.1"
LAN_NET="192.168.4.0/24"
LAN_WWW_IP="192.168.4.5"
IPT="/sbin/iptables"
#### 2. 内核参数、相关模块调整 ####
/sbin/modprobe nf_nat_ftp
/sbin/sysctl -w net.ipv4.ip_forward=1
/sbin/sysctl -w net.ipv4.ip_default_ttl=128
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_all=1
/sbin/sysctl -w net.ipv4.icmp_echo_ignore_broadcasts
/sbin/sysctl -w net.ipv4.tcp_syncookies=1
/sbin/sysctl -w net.ipv4.tcp_syn_retries=3
/sbin/sysctl -w net.ipv4.tcp_synack_retries=3
/sbin/sysctl -w net.ipv4.tcp_fin_timeout=60
/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=3200
#### 3. 清空旧规则,并设置各链的默认规则 ####
#/etc/init.d/iptables stop
$IPT -t filter -X
$IPT -t nat -X
$IPT -t mangle -X
$IPT -t raw -X
$IPT -t filter -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -t raw -F
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
#### 4. 自定义规则 .. ####
#### 4.1 nat表的详细策略
$IPT -t nat -A POSTROUTING -s $LAN_NET -o $INET_IF -j SNAT --to-source $INET_IP
$IPT -t nat -A PREROUTING -i $INET_IF -d $INET_IP -p tcp --dport 80 -j DNAT --t
o-destination $LAN_WWW_IP
#### 4.2 filter表的详细策略
$IPT -A INPUT -m state --state ESTABLISHED,RELATED