局域网内一部客户机专用防火墙规则的SCRIPT(请大家给出意见和建议)

发布于 2022-09-29 01:06:02 字数 1679 浏览 16 评论 0

局域网内一客户机  1.IP :202.195.2.10  NETWORK :202.195.2.0 NETMASK :255.255.255.0
                           2.接受除了MAC 为AA:BB:CC:DD:EE:FF的其他客户机的联机(在202.195.2.0网段内)
                  3.不接受其他客户机的PING
                           4.可以正常上网浏览网页
made by ppz
date:2007/04/12
made in suzhou

#!/bin/bash
PATH =/sbin:/bin:/usr/sbin:/usr/bin;EXPORT PATH
#清除所有已存在的规则
iptables -F
iptables -X
iptables -Z
#设定预设策略
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -p FORWARD ACCEPT
#开放本机的LO可以自由放行
iptables -A input -i LO -j ACCEPT
#只要已建立或者相关封包就可以通过,只要是不合法封包就丢弃
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
#不能被ping
iptables -A INPUT -P icmp -m icmp --icmp-type 8 -j DROP
#不接受MAC地址为AA:BB:CC:DD:EE:FF的客户机的联机
iptables -A INPUT -m mac --mac-source AA:BB:CCD:EE:FF -j DROP
#接受其他机器的联机
iptables -A INPUT -i eth0 -s 202.195.2.0/24 -j  ACCEPT
#接受DNS查询
iptables -A INPUT -P  tcp --sport 53 -j ACCEPT
iptables -A INPUT -P  udp --sport 53 -j ACCEPT

请大家给出意见!

[ 本帖最后由 ppzlyg 于 2007-4-12 15:00 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

旧城烟雨 2022-10-06 01:06:02

其实内网ping不ping我感觉没什么.
当然了,也不排除内网故意捣鬼,但是有时ping确实是个好东西.
iptables -A INPUT -p  tcp --sport 53 -j ACCEPT
这条不用加,DNS使用的是udp协议.
还有再添一条,允许访问网页:
/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT

另外不论是发帖,还是写规则,养成好习惯,大小写分清楚.
你看你的规则,本该大写的你小写,该小写的你大写.
习惯是点点滴滴培养出来的.

薯片软お妹 2022-10-06 01:06:02

谢谢你的提醒:
作修改如下:
局域网内一部客户机专用防火墙规则的SCRIPT(请大家给出意见和建议)

局域网内一客户机  1.IP :202.195.2.10  NETWORK :202.195.2.0 NETMASK :255.255.255.0
                           2.接受除了MAC 为aa:bb:cc:dd:ee:ff的其他客户机的联机(在202.195.2.0网段内)
                  3.不接受其他客户机的PING
                           4.可以正常上网浏览网页
made by ppz
date:2007/04/12
made in suzhou

#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin; export PATH

#清除所有已存在的规则
iptables -F
iptables -X
iptables -Z
#设定预设策略
iptables -P   INPUT DROP
iptables -P  OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#开放本机的LO可以自由放行
iptables -A INPUT -i lo -j ACCEPT
#只要已建立或者相关封包就可以通过,只要是不合法封包就丢弃
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
#不能被ping
iptables -A INPUT -P icmp -m icmp --icmp-type 8 -j DROP
#不接受MAC地址为aa:bb:cc:dd:ee:ff的客户机的联机
iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP
#接受其他机器的联机
iptables -A INPUT -i eth0 -s 202.195.2.0/24 -j  ACCEPT
#接受DNS查询
iptables -A INPUT -P  tcp --sport 53 -j ACCEPT
iptables -A INPUT -P  udp --sport 53 -j ACCEPT
#dns query 一般是使用 udp port 53,在 zone transfer 時使用 tcp port 53。
#还有就是你添加的
#/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT
我感觉没有必要,这只是一客户机的script,并不提供WWW服务,只要可以上网浏览网页

不知道我说的对不对!我自己的是不加也可以浏览网页。请再次给些帮助!

请大家给出意见!

玩物 2022-10-06 01:06:02

#/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT
我感觉没有必要,这只是一客户机的script,并不提供WWW服务,只要可以上网浏览网页。
这条规则你不添加也可以浏览网页吗?
呵呵。。。。如果不添加也可以浏览网页的话,那就不添加。

iptables -A INPUT -P icmp -m icmp --icmp-type 8 -j DROP
针对协议的,小写p吧?你这里大写的P也可以吗?我一直是小写p,没测试过大写P。如果不出错的话,就可以了。

最丧也最甜 2022-10-06 01:06:02

呵呵!居然还是有一个大写的p没有该过来!谢谢!下次绝对不会再出现这种情况了
#/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT
这一句我确实没有加,但是可以浏览网页!
呵呵!

局域网内一部客户机专用防火墙规则的SCRIPT(请大家给出意见和建议)

局域网内一客户机  1.IP :202.195.2.10  NETWORK :202.195.2.0 NETMASK :255.255.255.0
                           2.接受除了MAC 为aa:bb:cc:dd:ee:ff的其他客户机的联机(在202.195.2.0网段内)
                  3.不接受其他客户机的PING
                           4.可以正常上网浏览网页
made by ppz
date:2007/04/12
made in suzhou

#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin; export PATH

#清除所有已存在的规则
iptables -F
iptables -X
iptables -Z
#设定预设策略
iptables -P   INPUT DROP
iptables -P  OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#开放本机的LO可以自由放行
iptables -A INPUT -i lo -j ACCEPT
#只要已建立或者相关封包就可以通过,只要是不合法封包就丢弃
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
#不能被ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP
#不接受MAC地址为aa:bb:cc:dd:ee:ff的客户机的联机
iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP
#接受其他机器的联机
iptables -A INPUT -i eth0 -s 202.195.2.0/24 -j  ACCEPT
#接受DNS查询
iptables -A INPUT -P  tcp --sport 53 -j ACCEPT
iptables -A INPUT -P  udp --sport 53 -j ACCEPT

[ 本帖最后由 ppzlyg 于 2007-4-15 16:36 编辑 ]

递刀给你 2022-10-06 01:06:02

原帖由 marsaber 于 2007-4-14 11:39 发表于 5楼  
#/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT
我感觉没有必要,这只是一客户机的script,并不提供WWW服务,只要可以上网浏览网页。
这条规则你不添加也可以浏览网页吗?
呵呵。。。。如果不添加也 ...

应该说我的解释是有问题的!
你说要加入#/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT
如果是在ipchains的时候是必须要加入的,因为tcp协议是双向流通的
但是在使用iptable的时候,可以使用状态模组功能来很好的处理双向流通的问题
既是:
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP

RELATED  这个最常用,表示这个封包是与我们发送出去的封包有关。
ESTABLISHED 已经联机的
INVALID 无效的

至于说DNS使用的协议,大多数情况下使用的UDP ,但是在有些情况下还是需要TCP的
所以我加上了TCP协议。

至于说大小写问题呢!确实我在论坛写的时候,刚开始没怎么在意。不过在应用的时候确实不是这样的!呵呵

岁月静好 2022-10-06 01:06:02

1、sport 和 dport 概念混淆,你上面的内容应该用 dport 而不是 sport

2、若做高级 DNS 服务(比如 MASTER 与 SLAVE 同步的话),确实需要 TCP/53 的

3、脚本内容与上面描述的需求不符,或描述存在逻辑问题,比如“3.不接受其他客户机的PING”,言外之意是否仍有 IP 可以 ping 到?你脚本的内容是“禁止所有 IP ping”

4、“接受除了MAC 为AA:BB:CC:DD:EE:FF的其他客户机的联机(在202.195.2.0网段内)”没有处理好,你的脚本描述的内容是“禁止 MAC 是 XXXXXX 的连接”,而非“在 202.X.X.X 网络内”,因此需要添加一个 -s 202.195.2.0/24 的描述,否则不是这个段地址的 MAC 地址符合的数据包也会被 DROP 掉

5、“可以正常上网浏览网页”是指谁?Linux 它自己还是谁?它在网络里充当什么角色?是一台独立主机还是一台网关机器?这点你没有描述清楚

6、针对 TCP/53 和 UDP/53 的开放与第 5 点有关,若这台机器不跑 DNS 服务就没必要开,若这台机器是网关那么开错了

7、若这台机器有 FTP 服务,那么还应该载入 ip_conntrack_ftp 模块,若这台机器是网关,那么应该载入 ip_nat_ftp 模块

目前就看到这么多,需求不够明确,不足以继续判断……

著墨染雨君画夕 2022-10-06 01:06:02


白大侠分析问题果然是大侠风范!
学习了.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文