农夫子oice / NAT_ADSL / /etc/sysconfig/iptables ADSL_share

分享

   

/etc/sysconfig/iptables ADSL_share

2007-04-27  农夫子oice
# =======================  古公  =======================
#
#  /etc/sysconfig/iptables 文件:
#
#
# mangle 段
*mangle
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
#
#
# nat 段
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#
#
# 为使用 SQUID 作“透明代理”而设定!
#
# 没有指定 网卡、地址:
#[0:0] -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
#
# 指定 网卡、地址:
[0:0] -A PREROUTING -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
[0:0] -A PREROUTING -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3128
# 将 对于 80、443 端口的访问 重定向到 3128 端口。
#
#
#  这些机器可以走这个机器做网关上 Internet 网。
# 需要在 /etc/sysctl.conf 文件里面修改成 net.ipv4.ip_forward = 1
# 或者 echo 1 > /proc/sys/net/ipv4/ip_forward
# 由于利用 SQUID 实现了“透明代理”,Masq 取消相应的客户地址。
# 这里,只剩下几个需要利用“IP伪装”来上网的机器(可以上 QQ、雅虎通、msn 之类的):
#
[0:0] -A POSTROUTING -s 192.168.20.3 -j MASQUERADE
[0:0] -A POSTROUTING -s 192.168.20.10 -j MASQUERADE
[0:0] -A POSTROUTING -s 192.168.20.32/255.255.255.240 -j MASQUERADE
# 若你的 公网的 IP 地址是固定的,使用这个语句似乎更好些:
#[0:0] -A POSTROUTING -s 192.168.20.32/255.255.255.240 -j SNAT --to 211.148.130.133
COMMIT
#
#
# filter 段
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#
#
#
# 屏蔽 来自 microsoft 的站点:
[0:0] -A INPUT -s 207.46.0.0/255.255.0.0 -j DROP
[0:0] -A INPUT -d 207.46.0.0/255.255.0.0 -j DROP
#
# 防止IP欺骗:
# 所谓的IP欺骗就是指在IP包中存在着不可能的IP源地址或目标地址。
# eth1是一个与外部Internet相连,而192.168.20.0则是内部网的网络号,
# 也就是说,如果有一个包从eth1进入主机,而说自己的源地址是属于
# 192.168.20.0网络,或者说它的目标地址是属于这个网络的,那么这显
# 然是一种IP欺骗,所以我们使用DROP将这个包丢弃。
[0:0] -A INPUT -d 192.168.20.0/255.255.255.0 -i eth1 -j DROP
[0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth1 -j DROP
#
# 同样的,如果有包要通过eth1向Internet,而且它的源地址或目标地址是属于
# 网络192.168.20.0,那么显然也是不可能的。我们仍然使用DROP将它丢弃。
[0:0] -A OUTPUT -d 192.168.20.0/255.255.255.0 -o eth1 -j DROP
[0:0] -A OUTPUT -s 192.168.20.0/255.255.255.0 -o eth1 -j DROP
#
# 防止广播包从IP代理服务器进入局域网:
[0:0] -A INPUT -s 255.255.255.255 -i eth0 -j DROP
[0:0] -A INPUT -s 224.0.0.0/224.0.0.0 -i eth0 -j DROP
[0:0] -A INPUT -d 0.0.0.0 -i eth0 -j DROP
# 当包的源地址是255.255.255.255或目标地址是0.0.0.0,则说明它是一个
# 广播包,当广播包想进入eth0时,我们就应该DENY,丢弃它。而240.0.0.0/3
# 则是国际标准的多目广播地址,当有一个源地址是属于多目广播地址的包,
# 我们将用DROP策略,丢弃它。
#
#
# 屏蔽 windows xp 的 5000 端口(这个端口是莫名其妙的 !)
[0:0] -A INPUT -p tcp -m tcp --sport 5000 -j DROP
[0:0] -A INPUT -p udp -m udp --sport 5000 -j DROP
[0:0] -A OUTPUT -p tcp -m tcp --dport 5000 -j DROP
[0:0] -A OUTPUT -p udp -m udp --dport 5000 -j DROP
# 原来是用来跑 vpn 的,呵呵,我误解了。
#
#
# 防止 Internet 网的用户访问 SAMBA 服务器:
[0:0] -A INPUT -s 211.148.130.129 -i eth1 -p udp -m udp --dport 137:139 -j DROP
[0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p udp -m udp --dport 137:139 -j ACCEPT
[0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p udp -m udp --dport 137:139 -j ACCEPT
[0:0] -A INPUT -p udp -m udp --dport 137:139 -j DROP
#
#
# 对于本局域网用户不拒绝访问:
[0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -j ACCEPT
[0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p udp -j ACCEPT
#
#
[0:0] -A INPUT -i eth1 -p udp -m udp --dport 3 -j DROP
[0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 3 -j DROP
[0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 111 -j DROP
[0:0] -A INPUT -i eth1 -p udp -m udp --dport 111 -j DROP
#
#
[0:0] -A INPUT -i eth1 -p udp -m udp --dport 587 -j DROP
[0:0] -A INPUT -i eth1 -p tcp -m tcp --dport 587 -j DROP
#
# 防止 Internet 用户访问 SQUID 的 3128 端口:
[0:0] -A INPUT -s 211.148.130.129 -i eth1 -p tcp -m tcp --dport 3128 -j DROP
[0:0] -A INPUT -s 192.168.20.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 3128 -j ACCEPT
[0:0] -A INPUT -s 211.148.130.128/255.255.255.240 -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp --dport 3128 -j DROP
#
# 让人家 ping 不通我 !
[0:0] -A INPUT -i eth1 -s 192.168.30/24 -p icmp -m icmp --icmp-type 8 -j ACCEPT
[0:0] -A INPUT -i eth1 -s 211.148.130.128/28 -p icmp -m icmp --icmp-type 8 -j ACCEPT
[0:0] -A INPUT -i eth1 -p icmp -m icmp --icmp-type 8 -j DROP
#
# 限制ping包每一秒钟一个,10个后开始
[0:0] -A INPUT -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT
#
# 限制IP碎片,每秒钟只允许100个碎片,用来防止DoS攻击
[0:0] -A INPUT -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
#
#
COMMIT
# ======================= 结束 =======================
# ======================= 古公 =======================

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    开通即同意《个图VIP服务协议》

    全部>>