有時候,我們不想改動原本的網路環境,來經常網路安全管理,這時候我們就可以用到透明防火牆了,這時候我們就用到網橋的模塊,當然它屬於第二層的那一層了。
實驗環境:
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了。 |
(責任編輯:A6)
[火星人 ] 實例解析:Linux系統透明防火牆相關設置已經有659次圍觀