免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1064 | 回复: 0
打印 上一主题 下一主题

简单的内网网关防火墙配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-02 17:21 |只看该作者 |倒序浏览
以下是用iptables来做内网网关防火墙的简单例子,供初学者参考。

#! /bin/sh
#
#Set Bin Patch
#

$IPTABLES=/sbin/iptables #执行命令的路径,根据实际情况走相应的修改

#
#Internet Configuration.
#

INET_IP="" #Internet IP地址
INET_IFACE="" #Internet 接口,如eth0,eth1等

#
#Local Area Network Configuration.
#

LAN_IP="" #内网IP地址
LAN_IFACE="" #内网接口
LAN_IP_RANGE="" #内网IP段也就是整个子网(如:192.168.1.1/24)

#
#Localhost Configuration.
#

LO_IP="127.0.0.1" #本机回环地址
LO_IFACE="lo" #本机回环地址接口

#
#Module Loading.
#
#以下是较常用的模块

/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state

#
#Open Forward
#

echo 1 > /proc/sys/net/ipv4/ip_forward #打开IP转发功能,否则将无法实现NAT

#
#Clean Tables Rules #清空规则
#

$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT

$IPTABLES -t nat -F PREROUTING
$IPTABLES -t nat -F POSTROUTING
$IPTABLES -t nat -F OUTPUT

#
#Set Policies #设置默认规则为拒绝所有连接
#

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
#Set Filter INPUT Rules
#

#tcp包,SYN,ACK SYN,ACK标记为“1”并且状态为“NEW”的连接,重置
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
#tcp包,syn为“1”并且状态为“new”的连接,写入日志(/var/log/messages)
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix "New not syn:"
#tcp包,syn为“1”并且状态为“new”的连接,丢弃
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#允许内网访问
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
#允许回环地址访问
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
#允许本机内网地址访问
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
#允许本机外网地址访问
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
#目的地址是本机外网IP且状态是已连接或有关系的连接,允许
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \
-j ACCEPT
#
#Set Filter FORWARD Rules
#

#允许所有从内网接口进入的连接转发,就是允许所有内网IP
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT

#状态是已连接或有关系的连接,允许
$IPTABLES -A FORWARD -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT
#
#Set Filter OUTPUT Rules
#

#允许本机地址访问本机以外的地址
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT

#
#Set nat PREROUTING Rules
#
#这里是做DNAT用的,一般不需要,这里就不做规则了

#
#Set nat POSTROUTING Rules
#

#这里是做SNAT,将内网私有IP转换为本机外网IP
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

#
#Set nat OUTPUT Rules
#

#这个一般也不做规则




本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/28155/showart_352585.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP