实例解析:Linux系统透明防火墙相关设置


有时候,我们不想改动原本的网络环境,来经常网络安全管理,这时候我们就可以用到透明防火墙了,这时候我们就用到网桥的模块,当然它属于第二层的那一层了。

  实验环境:

  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 来确认彼此的间联通(这个过程是双向的 )

  步骤:

  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了

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3