服务器有两个网卡eth0 192.168.1.110,eth1 192.168.1.100,其中eth0只能被局域网中的192.168.1.11主机访问,能访问ftp、ssh服务。eth1只能是外网用户从网关192.168.1.1访问,能访问的服务有ssh(改为了2222端口)、ftp服务。不论从外网内网进入服务器,执行wget时,数据只能从eth0上进出。我对服务器的iptables做了如下操作。基本能满足我的设计需求,比如执行wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz时,可以看到是eth0在进行下载,局域网只有192.168.1.11这个客户机能连接服务器。
iptables -F&&iptables -F -t nat&&iptables -X&&iptables -P FORWARD DROP
modprobe ip_conntrack&&modprobe ip_nat_ftp&&modprobe ip_conntrack_ftp
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
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
iptables -A INPUT -i eth0 -p tcp -s 192.168.1.11 -m multiport --dport 20,22,21 --syn -m state --state NEW -j ACCEPT
iptables -A INPUT -i eth1 -p tcp -s 192.168.1.1 -m multiport --dport 20,2222,21 --syn -m state --state NEW -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -i ! lo -j LOG --log-prefix "drop" --log-ip-options --log-tcp-options
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
iptables -A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m multiport --dport 20,21,80,443,8080 --syn -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -o ! lo -j LOG --log-prefix "DROP" --log-ip-options --log-tcp-options
iptables -P INPUT DROP&&iptables -P OUTPUT DROP
但问题在于,明明设置了iptables -A INPUT -i eth1 -s ! 192.168.1.1 -j DROP,但我在192.168.1.11的主机上,用putty仍然可以连接192.168.1.100的tcp 22端口,不能连接tcp 2222端口。难道上面红色地方的代码没有起作用吗?
大家帮我看看吧!!!!!
jidanjianbing 于 2011-02-09 16:35:44发表:
我帮你顶,我是完成新手任务的
aifly 于 2011-02-08 12:15:45发表:
我来帮你顶
昊昊荡荡 于 2011-02-07 18:22:32发表:
还是自己顶!