linux下的防火墙

pai 2003-08-30 04:33:33
最近开始研究linux下的防火墙,请问各位高手如何下手?
应该使用哪个版本的linux,应该看哪些书,应该学习些哪方面的知识,请详细介绍!
在这里谢谢了!
...全文
60 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cvsuser 2003-09-02
  • 打赏
  • 举报
回复
我也在学,正在读iptables/netfilter 得源代码,
可以交流一下,
qq 64385885

cvsuser(猪头)
CoolQ 2003-08-30
  • 打赏
  • 举报
回复
当然是看内核方面的源代码了, 具体位置是/usr/src/linux/net/ipv[46]/netfilter
至于iptables则有单独的包,可以去http://www.netfilter.org/下载
phrack 61的一篇文章也有分析,你可以去看看
地址是:http://www.nsfocus.net/index.php?act=sec_doc&do=view&doc_id=862
pai 2003-08-30
  • 打赏
  • 举报
回复
请问关于iptables和netfilter,有什么好的资料或着网址,我想深入了解一下。
pai 2003-08-30
  • 打赏
  • 举报
回复
主要想了解编程方面的。
nichotilikai 2003-08-30
  • 打赏
  • 举报
回复
先学一下防火墙的原理,再学会LINUX下的iptables和netfilter的使用,最好能读一下相关的源代码。进一家网络安全公司,写自己的LINUX防火墙。(不能排除有的网络安全公司把iptables包装一下,变成中国第三代,达到国际先进水平的,自主知识产权的防火墙)。
icedust 2003-08-30
  • 打赏
  • 举报
回复
借花献佛了,呵呵
1.关于DNAT的补充说明!

对于用ADSL拨号上网的用户,外部网卡往往获取的ip地址是不固定的,所以虚拟主机,或者WWW,mail,ftp发布可能会有些问题,在此针对ADSL的不固定IP情况设置相应的DNAT策略,使能正常发布内网的FTP,MAIL,WWW。

我们这里以发布WWW为例,还是192.168.0.2为内部WWW服务器,只不过现在的服务器是通过ADSL上网

所以我们添加以下策略:
ptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.2:80
将80请求转发至192.168.0.2:80端口
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.2 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.0.1
返回a.b.b.d时数据源来自同一子网,就将其源地址更改为192.168.0.1,从eth0发出,并在连接跟踪表中查出a.b.c.d是从ppp0进来的,又由ppp0将此数据发出。(我也看不明白为何要有这句话)
iptables -A INPUT -p tcp --dport 80 -i ppp0 -j ACCEPT
允许80端口访问的语句。
然后重新
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart

其他如FTP发布也可举一反三:
ptables -t nat -A PREROUTING -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.0.2:21
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.2 -p tcp -m tcp --dport 21 -j SNAT --to-source 192.168.0.1
iptables -A INPUT -p tcp --dport 21 -i ppp0 -j ACCEPT


上网的时候,用ifconfig看看ppp0的地址,然后用那个地址看看WWW是否正常发布。呵呵,应该是没问题的哦!


2.关于封QQ,联众和边峰游戏的补充说明

相信很多公司的老板会让网管通过防火墙来封锁QQ,联众和边峰游戏,但又不能耽误其他事,我这里有个简单的配置文件服务器也是通过ADSL上网,能简单的实现以上要求:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A FORWARD -p icmp -j ACCEPT 开放ping功能
iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 80 -j ACCEPT 开放网页浏览功能
iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 25 -j ACCEPT 开放smtp发信功能
iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 110 -j ACCEPT 开放pop3收信功能
iptables -A FORWARD -p tcp -s 192.168.0.0/24 --dport 21 -j ACCEPT 开放默认FTP功能
iptables -A FORWARD -p tcp --dport 4000 -o ppp0 -j DROP 封锁边峰
iptables -A FORWARD -p tcp --dport 2000 -o ppp0 -j DROP 封锁联众
iptables -A FORWARD -p udp -s 192.168.0.0/24 --dport 8000 -j DROP 封锁QQ(有时udp4000端口也要封锁)
iptables -A FORWARD -p udp -j ACCEPT 允许其他UDP服务,比如DNS等

IPTABLES -A FORWARD -p TCP --dport 1863 -j ACCEPT
IPTABLES -A FORWARD -p TCP --dport 7801:7825 -j ACCEPT
IPTABLES -A FORWARD -p TCP --dport 6891:6900 -j ACCEPT
上面三条是开放了MSN, 不知行不行?
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE


3.我不想让人家可以PING到我

这大概是做防火墙用到最多的一种了 你可以在iptables写这句话
iptables -A INPUT -p icmp --icmp-type echo-request -i ppp0 -j DROP


CoolQ 2003-08-30
  • 打赏
  • 举报
回复
防火墙的哪个方面?配置还是编程?

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧