教你完全免费自建Linux防火墙
来源:互联网 发布时间:2008-09-26 17:00:00
防火墙(Firewall)是在一个可信的网络和不可信的网络之间建立安全屏障的软件或硬件产品。Linux操作系统内核具有包过滤能力,系统管理员通过管理工具设置一组规则即可建立一个基于Linux的防火墙,用这组规则过滤被主机接收、发送的包或主机从一个网卡转发到另一个网卡的包,用一台闲置的PC就可以替代昂贵的专门防火墙硬件,对于某些中小企业或部门级用户,很值得参考。
一、防火墙的类型和设计策略
在构造防火墙时,常采用两种方式,包过滤和应用代理服务。包过滤是指建立包过滤规则,根据这些规则及IP包头的信息,在网络层判定允许或拒绝包的通过。如允许或禁止FTP的使用,但不能禁止FTP特定的功能(例如Get和Put的使用)。应用代理服务是由位于内部网和外部网之间的代理服务器完成的,它工作在应用层,代理用户进、出网的各种服务请求,如FTP和Telenet等。
目前,防火墙一般采用双宿主机(Dual-homedFirewall)、屏蔽主机(ScreenedHostFirewall)和屏蔽子网(ScreenedSubnetFirewall)等结构。双宿主机结构是指承担代理服务任务的计算机至少有2个网络接口连接到内部网和外部网之间。屏蔽主机结构是指承担代理服务任务的计算机仅仅与内部网的主机相连。屏蔽子网结构是把额外的安全层添加到屏蔽主机的结构中,即添加了周边网络,进一步把内部网和外部网隔开。
防火墙规则用来定义哪些数据包或服务允许/拒绝通过,主要有2种策略。一种是先允许任何接入,然后指明拒绝的项;另一种是先拒绝任何接入,然后指明允许的项。一般地,我们会采用第2种策略。因为从逻辑的观点看,在防火墙中指定一个较小的规则列表允许通过防火墙,比指定一个较大的列表不允许通过防火墙更容易实现。从Internet的发展来看,新的协议和服务不断出现,在允许这些协议和服务通过防火墙之前,有时间审查安全漏洞。
二、基于Linux操作系统防火墙的实现
基于Linux操作系统的防火墙是利用其内核具有的包过滤能力建立的包过滤防火墙和包过滤与代理服务组成的复合型防火墙。下面,让我们来看看怎样配置一个双宿主机的基于Linux的防火墙。
由于Linux的内核各有不同,提供的包过滤的设置办法也不一样。IpFwadm是基于Unix中的ipfw,它只适用于Linux2.0.36以前的内核;对于Linux2.2以后的版本,使用的是Ipchains。IpFwadm和Ipchains的工作方式很相似。用它们配置的4个链中,有3个在Linux内核启动时进行定义,分别是:进入链(InputChains)、外出链(OutputChains)和转发链(ForwardChains),另外还有一个用户自定义的链(UserDefinedChains)。进入链定义了流入包的过滤规则,外出链定义了流出包的过滤规则,转发链定义了转发包的过滤规则。
这些链决定怎样处理进入和外出的IP包,即当一个包从网卡上进来的时候,内核用进入链的规则决定了这个包的流向;如果允许通过,内核决定这个包下一步发往何处,如果是发往另一台机器,内核用转发链的规则决定了这个包的流向;当一个包发送出去之前,内核用外出链的规则决定了这个包的流向。某个特定的链中的每条规则都是用来判定IP包的,如果这个包与第一条规则不匹配,则接着检查下一条规则,当找到一条匹配的规则后,规则指定包的目标,目标可能是用户定义的链或者是Accept、Deny、Reject、Return、Masq和Redirect等。
其中,Accept指允许通过;Deny指拒绝;Reject指把收到的包丢弃,但给发送者产生一个ICMP回复;Return指停止规则处理,跳到链尾;Masq指对用户定义链和外出链起作用,使内核伪装此包;Redirect只对进入链和用户定义链起作用,使内核把此包改送到本地端口。为了让Masq和Redirect起作用,在编译内核时,我们可以分别选择Config_IP_Masquerading和Config_IP_Transparent_Proxy。
假设有一个局域网要连接到Internet上,公共网络地址为202.101.2.25。内部网的私有地址根据RFC1597中的规定,采用C类地址192.168.0.0~192.168.255.0。为了说明方便,我们以3台计算机为例。实际上,最多可扩充到254台计算机。


猜你喜欢
- 有些使用的Godaddy主机的朋友会问我这样的问题,他购买的是Deluxe Plan+linux系统+SSL系列的主机,程序安装无误,但是在
- 1.密码保护的.htaccess文件 尽管有各种各样的.htaccess用法,但至今最流行的也可能是最有用的做法是将其用于网站目录可靠的密码
- 情景:本地已经搭建laradock开发环境(php7.3+mysql5.7),现在想用laradock环境来运行同一个已有项目,但是该项目数
- SMTP协议是TCP/IP协议族中的一员,主要对如何将电子邮件从发送方地址传送到接收方地址,也即是对传输的规则做了规定。SMTP协议的通信模
- 第一个问题:链接看起来和普通文本一样,是否是属于隐藏链接?几乎所有seo人员的博客上都有大量链接,给出某个链接很可能因为文章中确实涉及到关于
- 今天有机会和好久没有见面的中国GG的一个朋友聚在一起了!我便和他闲谈中得知了一些关于GGAD的一些机密标准!呵呵大家不要见笑哈!我今天说这些
- 微信小程序 Linux开发环境微信小程序开发工具是用nw.js实现的,这玩意本来就可以跨平台的。搞不懂为什么微信只出了windows和mac
- JMeterJMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。GrinderGrinder
- 你可能会因为种种原因而想在 FreeBSD 服务器上彻底禁用 sendmail,那么你可以尝试这样∶1,如果你不想重新启动服务器的
- 近日研究Google Adsense,终于知道了一条赚钱规则,按这个规则,应该可以优化Adsense提高收入了吧。这条规则其实非常的简单就是
- Vmware CentOS7最小化安装Linux的学习使用什么版本比较合适?个人认为是从命令行开始是最好的,因为以后操作服务器(做系统运维)
- 问题公司将服务器迁移后,docker默认创建的doker0网桥与公司的外网网关产生冲突,导致外网无法连接服务器。解决方式修改默认的配置文件
- 微软发布了针对Windows家庭服务器平台的,一个应用软件接口程序(API)和一个软件开发工具包。应用软件接口程序和开发工具包允许用户为Wi
- 注意:建议虚拟机内存2G以上,一定要配置阿里云的加速镜像1.下载镜像文件docker pull beginor/gitlab-ce:11.0
- 常用组件主要包括Aspjpeg、Jmail、LyfUpload、动易、ISAPI_ReWrite等,本文就仅说这5种,其他类型组件可以根据需
- 1、配置virtual box全局网络对所有虚拟机有效。1.1. 宿主机网络配置这是为了宿主机和虚拟机之间能互通。为了配置固定IP,可以禁用
- 11月6日消息,科技业市场研究机构IDC周四公布调查,今年第3季全球手机市场龙头宝座,依旧由挪威大厂诺基亚稳坐;但在智能手机战场厮杀中,黑莓
- 11月24日消息,中国互联网络信息中心(CNNIC)日前发布了《2009年中国网络游戏市场研究报告》,调查显示,2009年中国大型网络游戏用
- vmware虚拟机运行ubuntu等卡慢虚拟机的运行速度有一部分原因决定于你的物理机的配置,如果你的物理机配置不高,建议不要运行虚拟机,那样
- 内容摘要:本文列出了SQL 注入一些常用语句,站长朋友请注意了,看看您的网站程序是否存在这样的漏洞,一般过滤post或get过滤的