iptables控制较复杂案例
場(chǎng)景設(shè)定:
管理員:192.168.101.80
公司有三個(gè)部門:
工程部:192.168.2.21-192.168.2.20
軟件部門:192.168.2.21-192.168.2.30
經(jīng)理辦公室:192.168.2.31-192.168.2.40
上班時(shí)間:周一到周五 8點(diǎn)-20點(diǎn)
工程部門:ftp? 下班后無(wú)限制
軟件部門:http? 不允許瀏覽sina,不允許使用迅雷,最大連接數(shù)3,不準(zhǔn)聊天,不準(zhǔn)看圖片,不準(zhǔn)下載電影,下班后無(wú)限制。
經(jīng)理辦公室:http和qq都可以,下班無(wú)限制
開始設(shè)置iptables表:
環(huán)境變量:
adminip=192.168.1.1.80timerange="--timestart 08:00 --timestop 20:00"
?
//下班后的時(shí)間范圍,因iptables只在00:00-23:59有效,故要分成2段。
timerange1="--timestart 08:01 --timestop 23:59"imerange2="--timestart 00:00 --timestop 07:59"
?
//工程部門ip范圍
iprange1="192.168.2.21-192.168.2.30"
?
//軟件部門ip范圍
iprange2="192.168.2.21-192.168.2.30"
?
//經(jīng)理辦公室ip范圍
iprange3="192.168.2.31-192.168.2.40"
?
?
1、首先在設(shè)置全部禁止之前,要上ssh可以登錄,同時(shí)設(shè)置local回路通過(guò)。
iptables -A INPUT -s $adminip -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -d $adminip -p tcp -sport 22 -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
?
2、把進(jìn),出,轉(zhuǎn)發(fā)三鏈策略設(shè)為DROP
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
?
3、軟件部門策略:
1)、首先讓軟件部門可以上網(wǎng)(通過(guò)透明代理服務(wù)器),然后再進(jìn)行限制
iptables -A PREROUTING -m iprange --src-range $iprange2 -m time $timerange -p tcp --dport 80 –j REDIRECT –-to-ports 3128 //3128為本防火墻的squid服務(wù)端口 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -p tcp --dport 80 -j ACCEPT //可以上網(wǎng) iptables -p udp --dport 53 -j ACCEPT //可以訪問(wèn)域名服務(wù)器 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
?
2)、對(duì)迅雷和qq進(jìn)行控制
iptables -A FORWARD -m iprange $iprange2 -m time $timerange -m layer7 --17proto qq -j DROP iptables -A FORWARD -m iprange $iprange2 -m time $timerange -m layer7 --17proto xunlei -j DROP
?
4、經(jīng)理辦公室
iptables -t nat -A PREROUTING -m iprange $iprange3 -p tcp --dport 80 -j REDIRECT --to-ports 3128 iptables -A FORWARD -m iprange --src-range $iprange3 -p udp --dport 53 -o eth0 -j ACCEPT iptables -A FORWARD -m iprange --src-range $iprange3 -m time $timerange -m layer7 --17proto qq -j ACCEPT
?
5、最后是工程部
iptables -t nat -A POSTROUTING -m iprange $iprange1 -m time $timerange -p tcp --dport 21 -j MASQUERADE iptables -A FORWARD -m iprange --src-range iprange1 -m time $timerange -p tcp --dport 21 -j ACCEPT
?
6、下班后控制
iptables -A FORWARD -s 192.168.2.0/24 -m time $timerange1 -j ACCEPT iptables -A FORWARD -s 192.168.2.0/24 -m time $timerange2 -j ACCEPT iptables -t nat -A PREROUTING -m time $timerange1 -p tcp --dport 80 -j REDIRECT --to-ports 3128 iptables -t nat -A PREROUTING -m time $timerange2 -p tcp --dport 80 -j REDIRECT --to-ports 3128 iptables -t nat -A POSTROUTING -m time $timerange1 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -m time $timerange2 -o eth0 -j MASQUERADE
?
7、寫DMZ區(qū)域的(用遠(yuǎn)程登陸模擬)
?
總結(jié)
以上是生活随笔為你收集整理的iptables控制较复杂案例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 百度首页增加了二维码扫描
- 下一篇: 常用子网掩码