iptables防火墙和dhcpd服务器
网络图如下:
防火墙同时对子网的pc机提供dhcpd服务;
默认INPUT,FORWARD 为DROP;
想用如下脚本运行dhcpd服务,但不管用,请大家指点指点,谢谢
iptables -A INPUT -p tcp -s 192.168.0.0/24 --sport 68 -d 192.168.0.254 --dport 67 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.0.0/24 --sport 68 -d 192.168.0.254 --dport 67 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.0.254 --sport 67 -d 192.168.0.0 --dport 68 -j ACCEPT
iptables -A OUTPUT -p tcp -s 192.168.0.254 --sport 67 -d 192.168.0.0 --dport 68 -j ACCEPT
[ 本帖最后由 diyself 于 2007-6-4 21:45 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
顶一下
!!!!!!!!!!!!!!!!!!!!!
要不你把端口换过来再试试 应该要指定网络接口吧
你最好指定所以协议吧
我感觉,还是给下面客户机分配固定IP好!
这样更方便管理!
首先,你混淆了一个概念,运行 dhcpd 服务 不等于 开启某服务所需要的端口
iptables 的 filter 功能负责的仅仅是阻止或不阻止某个数据包过来,但是否真正工作要看系统是否对这个数据包进行处理,这个“处理”就是服务做的事情
配置好 dhcpd.conf 后,可以通过 service dhcpd start 来运行 dhcp 服务(如果你用的是 redhat 系列发行版)
同理,开启 TCP/80 也不意味着运行 httpd 服务,这里你误解了。
其次,在一般情况下根本没必要让 filter 表的 OUTPUT 链默认为 DROP 状态,这个链是负责从本机出去的数据包的,默认设为 DROP 而自己又不理解处理不好什么该出去什么不该出去,等于就是搬起石头砸自己的脚,我建议对 iptables 不熟悉的朋友起初设置不要那么严格,先以能通为主,通是最关键的,通了以后再慢慢加规则使匹配更严格也未尝不可
再次,也是最关键的,就是 iptables 根本就不能匹配 dhcp 这种数据包,因为 iptables 是工作在二层的,他直接从 IP 层获取数据,但 dhcp 协议是二层的,他不能被 iptables 所匹配(早期的时候我自己做过实验,关于这个还发过一个贴子)。若要匹配 dhcp 包,可以用 ebtables 来实现,同理,处理 arp 包也可以用 arptables。
楼上大哥,能具体说说应该怎么实现吗?
你问什么怎么实现?
dhcp 服务还是匹配 dhcp 数据包?
前者 google "dhcpd.conf"
后者 google "ebtables"
若还有不明白的可针对性提问更具体的东西
嗯 理解 了!!!!!!