最近做了一套路由策略,覺得linux真的太強大了!於是心潮澎湃,寫了這個文件!!!
一、背景描述
如圖,linux是一台閘道器伺服器,內有3塊網絡卡
eth1繫結172.17.0.0/16的ip,該網段ip可以通過172.17.1.1上網
eth0繫結192.168.10.0/24的ip,該網段ip可以通過192.168.10.1上網
eth2繫結192.168.1.1,是內網使用者的閘道器
二、需求分析
內網使用者應該走172.17.1.1這個路由上網
但由於工作需要,部分使用者應該有訪問圖中「專用網路」的許可權
也就是說,應該走192.168.10.1這個路由
另外一點,所有人應該可以訪問ftp伺服器,這個伺服器的ip是192.168.10.xx
也就是說,走172.17.1.1路由的人,也應該能訪問192.168.10.xx,且可以上網
三、解決方案
要解決這個問題,用到了一下幾個命令,具體使用方法需要另查資料
ip route
ip rule
arp
注:關於ip命令的用法,請查閱ip中文手冊,www.google.com上有
1、繫結ip
ifconfig eth1 172.17.3.x netmask 255.255.0.0
ifconfig eth0 192.168.10.2 netmask 255.255.255.0
ifconfig eth2 192.168.1.1 netmask 255.255.255.0
然後分別修改/etc/sysconfig/network-script/ifcfg-ethx檔案,以使計算機啟動自動設定ip位址
2、建立特殊路由表
vi /etc/iproute2/rt_table
# # reserved values
# 255 local
254 main
253 default
0 unspec
200 net10
# # local
# #1 inr.ruhep
上面那個200 net10為新新增,自定義編號為200,名字為net10
3、向net10路由中新增它自己的預設路由
ip route add default via 192.168.10.1 table net10
注意,這個table net10一定不要忘了寫,否則寫到了主路由表中
4、建立特殊路由規則
用ip rule可以看到計算機當前的路由規則
引用:
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
可以看到,規則中走了3個路由表,local、main、default
我們平常用route看到的,實際是路由表main
這些規則是按序號大小順序走的,乙個不同,則走下乙個,知道通路或走完為止
開始新增我們自己的路由net10到路由表中
ip rule add from 192.168.1.222 pref 10000 table net10
這個意思是說,如果來自ip位址為192.168.1.222的訪問,則啟用net10的路由表中的路由規則
而net10的路由規則是什麼呢?上面已經設定了,走的是192.168.10.1的網段
接下來,使linux可以nat(這裡不再細說how to了)
5、讓所有人可以訪問192.168.10.xx(這個ip不便說出來)
因為其餘人都走了172.17.1.1這個路由,所以他們是無法訪問192.168.10.xx的
怎麼才能實現呢?再新增個策略就可以了!
ip rule add to 192.168.10.xx pref 10001 table net10
這句話的意思是說,所有人,如果目的ip是192.168.10.xx,則臨時使用net10的路由表
這樣做,安全會不會有安全問題呢?路由變了,他們會不會訪問到專用網路呢?
不會的,因為路由規則是to 192.168.10.xx,也就是目標是 xx 時,才該路由的,訪問別的**還是走原來的路由。
如果說訪問到專用網路的機器,也就只有10.xx這一台而已。
這裡,我們還可以做乙個小技巧,不告訴別人192.168.10.xx的位址,只告訴他們閘道器192.168.1.1上有這個服務
iptables -t nat -a prerouting -d 192.168.1.1/32 --dport 21 -j dnat --to 192.168.10.xx
6、防止其他人篡改ip位址而獲得特殊許可權
arp有個靜態功能cm,不是c,大家可能知道
如果給乙個ip位址強行繫結乙個非他自己的mac,會怎麼樣呢?雙方會話將會失敗!
好,我們來利用這一點!
首先,我寫了乙個檔案iproute.c
#include ;
#include ;
main ()
其次,生成乙個c的ip位址和全為00的mac位址
# ./iproute >; /etc/ethers
tips: 上面的方法寫於不會 shell 時候的我,利用 bash 的特性可以很簡單的將上面步驟簡化為
# 修改於 2005.10.24
# for((i=2;i<=254;i++));do echo -e "192.168.1.$i/t00:00:00:00:00:00";done >; /etc/ethers
再次,修改ip-mac匹配列表
vi /etc/ethers
具體怎麼該我就不用細說了,相信大家都會
最後,做靜態ip-mac繫結
arp -f
7、為了安全,建立防火牆,修改main路由表
預設的路由表應該有192.168.10.0/24和172.17.0.0/16網段的內容,為了安全,可以去掉
另外,如果是as3的話,還會有169.254.0.0/16的路由,具體為什麼我不知道,去掉
然後寫乙個防火牆教本,利用iptables,把你的機器變得更加堅固!
基於原位址的策略路由
一 拓撲圖 二 配置及說明 1 圖中我用r0模擬幀中繼,我只想讓它們都參與到幀中繼網中,r3我沒有用子介面來做,因為我只要能學到全網內的路由。我並不要他們各自ping 通自己介面位址。我用路由器模擬幀中繼,有利於我們更好的理解其原理。為節省篇幅,幀中繼的配置我就不寫了。其它的在幀中繼網中的路由器都指...
MAC位址與IP位址繫結策略的破解
於天極網techtarget中文站 仔細看了,提供了不同的解決方法,值得研讀的 1 引言 對 ip位址盜用 的解決方案絕大多數都是採取mac與ip位址繫結策略,這種做法是十分危險的,本文將就這個問題進行 在這裡需要宣告的是,本文是處於對對mac與ip位址繫結策略安全的憂慮,不帶有任何 性質。1.1 ...
PBAC基於策略的許可權控制
在pb實現一般管理系統的時候,我們會遇到這樣一種情況,作為乙個系統,可以分為若干個子系統,有多個操作員對它進行操作,每個操作員對各個子系統的許可權不同,甚至在同一子系統中,操作員對各個選單項的操作許可權也不一樣,更細一點,不同的操作員對於同一視窗中某一按鈕的操作許可權也是不一樣的,那麼,怎樣較好地實...