基於路由策略的IP位址控制

2021-04-07 06:26:38 字數 3143 閱讀 8947

最近做了一套路由策略,覺得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實現一般管理系統的時候,我們會遇到這樣一種情況,作為乙個系統,可以分為若干個子系統,有多個操作員對它進行操作,每個操作員對各個子系統的許可權不同,甚至在同一子系統中,操作員對各個選單項的操作許可權也不一樣,更細一點,不同的操作員對於同一視窗中某一按鈕的操作許可權也是不一樣的,那麼,怎樣較好地實...