当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 一、linux防火墙基本知识:除了软件和硬件防火墙的分类外,如果以封包抵挡机制来分类,大概可以分为proxy和IP Filter。基本上linux的IP Filter有两个最基本的防火墙机制,

 一、linux防火墙基本知识:

除了软件和硬件防火墙的分类外,如果以封包抵挡机制来分类,大概可以分为proxy和IP Filter。

基本上linux的IP Filter有两个最基本的防火墙机制,分别是:Ip Filter和TCP_Wrapper。

这里我们谈IP Filter,因为shorewall可以通过IPTABLES简单设置IP Filter的规则。

或者说:如果你不麻烦iptables的语法规则,或者可以自己写一些shell程序批处理iptables指令,完全可以不安装shorewall或者其他防火墙。因为linux下的防火墙基本都是通过设置iptables的规则完成的。

1.首先确定(uname指令确定核心,lsmod确定当前载入模块,如果是ipchains,请执行rmmod ipchains。 然后modprobe ip_tables即可将iptables装入现在使用的模块)你的内核是采用哪种抵挡机制,是不是我们需要的iptables(Ubuntu5.10的是iptables)

Linux Kernel Version 2.0:使用 ipfwadm

Linux Kernel Version 2.2:使用的是 ipchains

Linux Kernel Version 2.4:主要是使用 iptables 但为了兼容 ipchains ,因此Version 2.4 版本中,同时将 ipchains 编译成模组供使用,好让使用者仍然可以使用來自 2.2 版的 ipchains 的防火墙规则。

---------------

然后执行下面代码来观看现在的防火墙规则(联网情况下,root用户)

$ sudo iptables -L -n (L的含义是列出目前的 table 的规则,n含义是不进行IP与HOSTNAME的相互转换,这样可以加快显示速度)

$ sudo iptables -t nat -L -n (-t nat的含义是显示nat的filter。iptables会有nat tables和filter tables,不加参数为filter。有兴趣的兄弟可以参看其他关于iptables的介绍,介于太长,此处不做介绍;)

---------------

接下来我们就要清除掉现在所有的防火墙规则(联网情况下)

root@*** root]# /sbin/iptables [-t tables] [-FXZ]

其中参数含义为:

-F :清除所以已经建立的规则;

-X :杀掉所有使用者建立的 chain ( tables );

-Z :把所有的 chain 的计数和流量统计归为0;

範例:

[root@*** root]# /sbin/iptables -F

[root@*** root]# /sbin/iptables -X

[root@*** root]# /sbin/iptables -Z

[root@*** root]# /sbin/iptables -t nat -F

---------------

二、具体安装Shorewall3.0.4

下载shorewall最新的稳定版本3.0.4(tarball安装,即为源代码make安装。确定你的机器跟随‘新手指南’装了基本编译工具),由于新立得里面还是2.多的版本,在官方网站看的是3的介绍,所以安装3.0.4。而且安装很简单,不会出现其他依赖性问题.

------------

1.下载地址:http://www1.shorewall.net/pub/shorewall/3.0/shorewall-3.0.4/

2.安装前需要:iptables(前面提到的)+iproute (检查这个的指令是sudo Which ip )(基本上ubuntu5.10都具备了,所以可以不考虑)

3.尽量不要在ms-windows里面编辑shorewall的配置文件,因为ms和lin的文字排版不太一样,比如回车。

4.cd到你解压之后的目录,然后./install.sh 回车,看见没有错误信息,就OK了。但是此刻shorewall没有启动。等会儿我们来启动。默认安装之后就是每次启动就自动启动防火墙(设置文件在 /etc/shorewall/shorewall.conf。找到STARTUP_ENABLED=Yes

,yes代表开机自动启动!)

5.安装之后所有文件分别位于:/usr/shorewall 和/sbin 和 /etc/shorewall,我们需要注意的就是/etc/shorewall。这里是配置文件。(个人建议,对于一些重要的,经常不需要变动的文件可以将隐藏属性chattr +i 上去,具体指令信息,请找‘男人’man )

6.查看安装后的版本:sudo shorewall version 可以得到3.0.4的消息

三、配置Shorewall3.0.4

详细的官方文档位于:http://www.shorewall.net/Documentation.htm ,shorewall的文件很多,但是一般用户用到的不多,特别是我们这种单机拨号的用户。

-------------

1.首先配置/etc/shorewall/zones文件,浏览至最后,添加代码如下:

#ZONE TYPE OPTIONS

fw firewall #文件原本存在的这行,fw为防火墙本身,必须

net ipv4

loc ipv4

#LAST LINE -- DO NOT REMOVE

其中关于各个type,options的解释,该配置文件前面部分有,大家如果严格要求,可以参照文件配置,一般用户配置成上面就可以了。

2.配置/etc/shorewall/interfaces

(这里用到的ZONE的名字是在上个文件/etc/shorewall/zones中定义的名字,所以顺序不要弄错了。这种zone名字的方法是比较简单的,推荐这种方法。)

#ZONE INTERFACE BROADCAST OPTIONS

net ppp0

#LAST LINE -- DO NOT REMOVE

同样配置文件对各个参数进行了详尽的解释

--------------

3.配置/etc/shorewall/rules 和 /etc/shorewall/policy

关系: policy是定义默认的策略给所有的连接(从一个zone到另外一个zone, 比如我们定义的从loc到net);

rules是定义特殊的防火墙规则,即是policy里面没有的。

先后条件:任何连接,防火墙先检查rules,如果rule中没有关于这个连接要求的描述,就调用policy的默认配置。

/etc/shorewall/policy的配置如下(默认)

#SOURCE ZONE DESTINATION ZONE POLICY LOG LIMIT:BURST

# LEVEL

loc net ACCEPT

net all DROP info

all all REJECT info

#LAST LINE -- DO NOT REMOVE

我一般改为下面,省得每次开端口麻烦。

fw net ACCEPT

net all DROP info

all all REJECT info

上面的含义是允许本机所有连接网络的要求;网络连接到我的所有zones(比如防火墙fw,本地loc)都丢弃该连接要求的tcp封包,并记入日志。拒绝所有连接要求并记入日志(当连接被拒绝了,防火墙就会返回一个RST (加入协议是TCP) 或者一个 ICMP端口不能到达的包给其他协议)[!--empirenews.page--]

-------------

/etc/shorewall/rules配置如下(一般不需要太大配置,除非你的机器运行了比如想web服务器之类的东西。需要端口开放时候再来配置该文件)

#

这里我选择保持默认,就是没有定义的东西。如果你以后想开什么端口,就自己在这个上面写就是了。关于各个选项,配置文件里面有很详细的描述。比如 ACCEPT net loc icmp echo-request就是让网络可以ping到本机的设置。你以后要开ftp,bt,pop3等端口的时候,自己可以在这个上面设置!

---------------

四、启动shorewall。

sudo shorewall start (注意再建立一个/var/lock/subsys这个文件夹,程序需要,但是ubuntu没有该目录,所以要自己建立!不然会有错误信息提示)

或者重新启动计算机就自动启动了,修改/etc/default/shorewall的文件,把starup改为1即可。(一般情况下,如果你的运气实在不好,就请自己把该程序ln一个连接到rcS.d中)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭