再次注明:开始内核升级后发现,as4的默认支持透明网桥的iptables支持,而且里面也加进了ebtables(网桥管理模块的支持,但是我没找到,可能需要下载相关工具?),所以使用as4版本的redhat就可以实现用iptables控制桥式转发的ip数据包,我用的是as4 update1版本的,是相对比较老的版本了,所以相信后面的版本更应该支持透明防火墙了。但是更老的版本,比如默认使用2.4内核的redhat9甚至as3,可能就不支持(可用uname -a察看内核版本)。
很多兄弟想必都用过linux做过nat服务器和防火墙,然而现在大部分防火墙搭建的介绍文档都是要进行一次nat,这就导致我们不得不改变现有的网络结构:比如不得不把原先直接放在外网、公网上的服务器变成内网的ip,经过nat转换之后才能设定防火墙策略。而且使用了iptables的nat功能后,p2p的服务基本就无法进行了,因为p2p服务在nat的条件下基本无法运行,具体的我就不说了,因为无法对服务器建立主动连接什么的造成的……可以去研究协议。
实际上我们可以很方便的实现透明防火墙,这样就不用担心上面的问题了,现有的透明防火墙的介绍也大多是redhat7.2时代,基于2.4.X内核的版本,和现在想必恐怕也有些落伍……上周我用rhel4,内核版本2.6.9作了一次测试,基本成功,这里给大家介绍一下。
首先你得用新一些的发行版本,比如rhel4(俗称的企业版4.0)或者rhfc4(就是redhat FC4啦),老版本的会不会有问题我没有试过……如果是新学不久,还是用新版本吧,毕竟新版本的iptables功能更强……不过学起来也更麻烦些(当然基本的功能还是可以借鉴那些老的教程),新特性基本都得自己看英文说明学习。另外你这台机器是双网卡的没错吧?起码装了系统并且保证两块网卡本来都可以正常连通(这些问题我就不在多说了)
检查一下你是否安装了下列软件包:
bridge-utils-1.0.4-4.i386.rpm
bridge-utils-devel-1.0.4-4.i386.rpm
版本不一定要一样,但是基本相同。
如果安装不上看看提示,可能缺少其他的软件包支持,比如我安装的时候,就告知要安装软件包:
sysfsutils-1.2.0-1.i386.rpm
没什么,先安装他好了。
安装完毕后,就可以开始设置我们的透明防火墙了(其实就是让这台机器变成一个网桥,然后用我们熟悉的iptables进行防火墙策略的设定就可以)。
添加桥设备:
brctl addbr br_test
(br_test是我随便起的名字,你也可以用br_0之类的)
brctl addif br_test eth0
brctl addif br_test eth1
把eth0和eth1都加到桥中。
ifconfig eth0 down
ifconfig eth1 down
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
重新启动网卡
有的时候可能用ifconfig eth0 0.0.0.0 up和ifconfig eth1 0.0.0.0 up不起作用,可以考虑用这两句代替一下看看……
ifconfig eth0 0.0.0.0 promisc
ifconfig eth1 0.0.0.0 promisc
这样两块网卡就工作在混杂模式下了(有人说有用,有人说没用,你要是有条件,都试试,我因为工作原因,没能仔细的试验)
ifconfig br_test 192.168.10.3 up
route add default gw 192.168.10.1
给自己的桥设备配置ip地址,你可以设成你自己的,并加上默认网关。
echo "1" > /proc/sys/net/ipv4/ip_forward
开启ip转发功能。ok到这里,你的网桥就配置好了,然后开启iptables防火墙,设置你的策略吧。
不过从前所有的对设备eth0和eth1的限制现在都改成对桥设备br_test的限制了。记住iptables的特点,如果数据只是要通过防火墙,则在filter链上进行过滤设置,如果要进入防火墙(比如你要配置防火墙,就算是要进入),则在input和output链上进行配置。
就说这些了,祝各位兄弟好运,能一次配置成功哦!这样我们的工作会方便很多的!
你可能还对以下内容感兴趣:如何使用透明flash,透明flash 使用,怎样使用透明flash,透明flash的使用,透明flash使用方法,怎么使用透明flash,按键精灵简单版本,网桥使用的好处,directx 9以上版本,winrar3.0以上版本,directx9.0以上版本,dx9.0以上版本下载,使用简单文件共享,在线使用简单游,使用简单文件夹共享,datagrid简单使用,简单游使用方法,redhat as4,as4,redhat linux as4。