有时候,我们不想改动原本的网络环境,来经常网络安全管理,这时候我们就可以用到透明防火墙了,这时候我们就用到网桥的模块,当然它属于第二层的那一层了。
实验环境: server ——firewall——client server ip address: 192.168.1.100 client ip address: 192.168.1.200 firewall ip address :192.168.1.1 需求: 只允许server可以通过网上邻居讲文件传输到client(这个过程是单向的),server与client可以相互通过icmp echo request 来确认彼此的间联通(这个过程是双向的 ) //本文转自www.45its.com电脑软硬件应用网 步骤: 1.绑定张网卡合成一个网桥接口(bridge interface) firewall至少要有两张网卡,然后将它们绑定起来,firewall可以成网桥了,首先需要安装bridge-utils与bridge-utils-devel这个两组件,这两个组件就将eth0与eth1绑定成一个网桥设备,符合我们的要求。我的环境是rhcl 4.4假设定,这两个组件在光盘里就有的 #rpm-ivh bridge-util-× 接着将eth0与eth1 绑定成bri0 interface #ifconfig eth0 0.0.0.0 #ifconfig eth1 0.0.0.0 #brctl addbr bri0 #brctl addif bri0 eth0 #brctl addif bri1 eth1 使用brctl show 确认一下: #brctl show birdge name bridge id STP enable interface bri0 8000.000347305b3 no eth0 eth1 这里问题 到了这里,既然bri0 interface 已经建立好了,那么是否在上面写入ip地址呢?答案是肯定的, 有了ip地址我们就可以做到远程控制了,设置方法有两种,一种是手工写入,第二种通过dhcp server 获取 手工写入: #ifconfig bri0 192.168.1.1 netmask 255.255.255.0 up dhcp client # dhclient bri0 以上可以写shell脚本,每次开机自动的执行,我用的是rhel 4.4 放在/etc/rc.local中 2. 设置firewall转发功能 #vi /etc/systcl.conf #Controls ip packet forwarding net.ipv4.ip_forwarding = 1 #sysctl -p 可以测试一下,目前server与client的网络连通xing 3.设置策略 至于策略那就是玩iptables了,基础部分我就不讲了相信大家理解的比我深刻,因为今天是休息天啊手写都发酸了。 进入主题: 为了安全考虑先把forward default policy设置为drop 只放行smb 协议和icmp ech0 request # iptables -P FORWARD DROP 这时server与client目前肯定是连不通的 设置允许n个数据包通过: # iptables —A FORWARD -m state -state RELATED,ESTABLISHED -j ACCPT 允许icmp ech0 request: #iptables -A -FORWARD -s 192.168.1.0/24 -p icmp -icmp-type 8 -j ACCPT 设置只有server可以通过网上邻居将文件送到client #iptables -A FORWARD -s 192.168.1.100/24 -d 192.168.1.200/24 -p tcp -dport 139 -j ACCPT #iptables -A FORWARD -s 192.168.1.100、24 -d 192.168.1.200/24 -p tcp -dport 445 -j ACCPT 这样一就OK了。 |