[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]


hlinuxer 于 2011-02-23 14:25:58发表:
路过帮顶,因为我实在看不懂,我的电脑无线路由都链接不上呐还没解决
昊昊荡荡 于 2011-02-05 16:37:22发表:
自己顶@
昊昊荡荡 于 2011-02-04 20:22:42发表:
还是自己顶!
昊昊荡荡 于 2011-02-04 15:36:24发表:
自己顶@
昊昊荡荡 于 2011-02-02 19:52:38发表:
[font=微软雅黑]忘了说明情况了,我把ftp 服务器的端口改在了tcp 2121上,因为在公司的联想网御防火墙上,tcp 21端口已被占用了[/font]
sleeyoyo 于 2011-02-02 14:07:55发表:
请问楼主tcp 2121是什么服务,作什么用的?
weatny 于 2011-02-02 09:54:31发表:
帮楼主顶了 不懂
昊昊荡荡 于 2011-02-02 09:06:26发表:
今天过大年,估计 来看帖子的人很少
jive 于 2011-02-02 08:37:03发表:
帮楼主顶