红联Linux门户
Linux帮助

大家帮我看看这个iptables脚本有无问题

发布时间:2011-02-02 01:57:46来源:红联作者:昊昊荡荡
[font=微软雅黑]先把我的网络拓扑和配置iptables的需求给大家说说,见下图(用xp下自带的画图程序做的,有点粗糙,大家见谅):
[attach]33598[/attach]

我写的iptables配置如下:
[/font]

[font=黑体]说明:[/font]

局域网网关:192.168.1.1
eth0 192.168.1.110 (intel 10、100M自适应网卡,仅局域网特定主机192.168.1.11可访问)
eth1 192.168.1.100 (intel 千兆网卡,仅供互联网用户访问,即来自192.168.1.1的访问)
centos 5.5主机运行vsftpd、sshd服务(tcp 2222供互联网用户访问,tcp 22仅供局域网192.168.1.11访问),同时要能在centos主机上从eth0上实现yum install功能。



#############以下部分为iptables的脚本##########################


IPTABLES=/sbin/iptables
MODPROBE=/sbin/modprobe


#####flush existing rules and chain policy setting to DROP########
echo "[+]Flushing existing iptables rules……"

$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -X
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

#####load ftp connection modules###
$MODPROBE ip_conntrack
$MODPROBE ip_nat_ftp
$MODPROBE ip_conntrack_ftp
########INPUT chain############
echo "[+]Seting up INPUT chain……"

####state tracking rules
$IPTABLES -A INPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID" --log-ip-options --log-tcp-options
$IPTABLES -A INPUT -m state --state INVALID -j DROP

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

####anti-spoofing rules
$IPTABLES -A INPUT -i eth0 -s ! 192.168.1.11 -j LOG --log-prefix "SPOOFED PKT"
$IPTABLES -A INPUT -i eth0 -s ! 192.168.1.11 -j DROP

$IPTABLES -A INPUT -i eth1 -s ! 192.168.1.1 -j LOG --log-prefix "SPOOFED PKT"
$IPTABLES -A INPUT -i eth1 -s ! 192.168.1.1 -j DROP


####ACCPET rules
$IPTABLES -A INPUT -i eth0 -p tcp -s 192.168.1.11 -m multiport --dport 20,22,2121 --syn -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -i eth1 -p tcp -s 192.168.1.1 -m multiport --dport 20,2222,2121 --syn -m state --state NEW -j ACCEPT

$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

######default INPUT LOG rule####
$IPTABLES -A INPUT -i ! lo -j LOG --log--prefix "drop" --log-ip-options --log-tcp-options

######OUTPUT chain#######
echo "[+]Seting up OUTPUT chain……"
####state tracking rules
$IPTABLES -A OUTPUT -m state --state INVALID -j LOG --log-prefix "DROP INVALID" --log-ip-options --log-tcp-options

$IPTABLES -A OUTPUT -m state --state INVALID -j DROP
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

####ACCEPT rules for allowing connectios out
$IPTABLES -A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -p tcp --dport 21 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -p tcp --dport 80 --syn -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o eth0 -p tcp --dport 443 --syn -m state --state NEW -j ACCEPT
[color=Red][size=5]以上四条语句,是为了能在centos主机上运行yum install,和能在命令行方式用wget下载东西。不知对不对,请大家指教!

$IPTABLES -A OUTPUT -p icmp-type echo-request -j ACCEPT

####default OUTPUT LOG rule
$IPTABLES -A OUTPUT -o ! lo -j LOG --log-prefix "DROP" --log-ip-options --log-tcp-options
[/size][/color]
文章评论

共有 9 条评论

  1. hlinuxer 于 2011-02-23 14:25:58发表:

    路过帮顶,因为我实在看不懂,我的电脑无线路由都链接不上呐还没解决

  2. 昊昊荡荡 于 2011-02-05 16:37:22发表:

    自己顶@

  3. 昊昊荡荡 于 2011-02-04 20:22:42发表:

    还是自己顶!

  4. 昊昊荡荡 于 2011-02-04 15:36:24发表:

    自己顶@

  5. 昊昊荡荡 于 2011-02-02 19:52:38发表:

    锟斤拷锟斤拷:
    请问楼主tcp 2121是什么服务,作什么用的?
    sleeyoyo 发表于 2011-2-2 14:07


    [font=微软雅黑]忘了说明情况了,我把ftp 服务器的端口改在了tcp 2121上,因为在公司的联想网御防火墙上,tcp 21端口已被占用了[/font]

  6. sleeyoyo 于 2011-02-02 14:07:55发表:

    请问楼主tcp 2121是什么服务,作什么用的?

  7. weatny 于 2011-02-02 09:54:31发表:

    帮楼主顶了 不懂

  8. 昊昊荡荡 于 2011-02-02 09:06:26发表:

    今天过大年,估计 来看帖子的人很少

  9. jive 于 2011-02-02 08:37:03发表:

    帮楼主顶