open*** 爲指定客戶端配置規則和訪問策略

需求:
   首先我們的需求是這樣,我們在外地有三個分部,分別在上海,南京,無錫。這三個地方的同學們需要通過***訪問北京辦公室內網的某臺主機,同時在北京的我們也需要在家裏***進到辦公室裏邊進行訪問。
   實現的方法是通過 open*** server 端指定客戶端的專有配置,配置裏邊可以指定特定客戶端的ip地址,之後我可以在iptables的FORWARD鏈裏邊,根據指定給客戶端的ip地址來指定訪問規則,規則的制定是這樣的,允許指定ip訪問特定主機,然後deny特定主機的所有訪問,之後放行其它
   open*** 的ip地址訪問權限。
   系統需求:
       1,開啓iptables 
       2,開啓路由轉發功能
          vi /etc/sysctl.conf --->把 net.ipv4.ip_forward = 0 ---> 把最後的0 改成 1 -->保存退出 ---> sysctl -p 
       3,open*** 安裝,網上教程一堆不贅述。
       4,根據自己的需求生成對應的客戶端證書,我這個例子裏邊會生成四個,admin,shanghai,nanjing,wuxi
   權限劃分如下:
       上海,南京,無錫   --允許需要訪問內網的一臺機器上的服務
       我們組的同事      --允許訪問內網所有的機器

    在open*** server的配置文件中添加如下配置
       client-config-dir ccd
    然後在open*** 目錄下建立 ccd 文件夾,根據客戶端的名字建立對應的文件,*這裏要聲明一下,我的open*** 是證書和密碼雙重認證的,經過我的實驗如果想通過客戶端配置文件分配指定IP地址給客戶端的話,是需要證書認證的,用系統認證方式是行不通的,所以證書的名字和ccd文件裏邊文件名字一定要一致。只有證書和ccd 裏邊的文件名字一致時候,open*** 纔會把登錄用戶和ccd 配置文件聯繫起來。
      	文件裏邊指定的ip地址可以根據自己的實際需求指定,但是必須按照最下邊分配出來的指定。
      	文件ccd/shanghai:
      	ifconfig-push 10.8.0.5 10.8.0.6

		文件ccd/nanjing:
		ifconfig-push 10.8.0.9 10.8.0.10

		文件ccd/wuxi:
		ifconfig-push 10.8.0.13 10.8.0.14

		ifconfig-push中的每一對IP地址表示虛擬客戶端和服務器的IP端點。它們必須從連續的/30子網網段中獲取(這裏是/30表示xxx.xxx.xxx.xxx/30,即子網掩碼位數爲30),以便於與Windows客戶端和TAP-Windows驅動兼容。明確地說,每個端點的IP地址對的最後8位字節必須取自下面的集合:
		
		[  1,  2]   [  5,  6]   [  9, 10]   [ 13, 14]   [ 17, 18]
		[ 21, 22]   [ 25, 26]   [ 29, 30]   [ 33, 34]   [ 37, 38]
		[ 41, 42]   [ 45, 46]   [ 49, 50]   [ 53, 54]   [ 57, 58]
		[ 61, 62]   [ 65, 66]   [ 69, 70]   [ 73, 74]   [ 77, 78]
		[ 81, 82]   [ 85, 86]   [ 89, 90]   [ 93, 94]   [ 97, 98]
		[101,102]   [105,106]   [109,110]   [113,114]   [117,118]
		[121,122]   [125,126]   [129,130]   [133,134]   [137,138]
		[141,142]   [145,146]   [149,150]   [153,154]   [157,158]
		[161,162]   [165,166]   [169,170]   [173,174]   [177,178]
		[181,182]   [185,186]   [189,190]   [193,194]   [197,198]
		[201,202]   [205,206]   [209,210]   [213,214]   [217,218]
		[221,222]   [225,226]   [229,230]   [233,234]  
    這些配置完成之後,我們需要配置iptables 的FORWARD 鏈了,規則如下邊的例子,這裏只列舉了一組,注意一定是先ACCEPT 需要訪問的網段,然後再DROP。最後需要一個ACCEPT all的規則來放行管理員的訪問權限。
       iptables -I FORWARD -i tun0 -s 10.8.0.5 -d 192.xxx.xxx.x -j ACCEPT 
       iptables -I FORWARD -i tun0 -s 10.8.0.5 -d 192.xxx.0.0/24 -j DROP 

       iptables -A FORWARD -j ACCEP

   

    這樣配置完成之後服務器端就ok了,然後就是客戶端的配置了,客戶端一定要有證書認證,服務器端才能下發指定的ip地址。以下的這兩個選項必有才行。

       cert xxx.crt

       key xxx.key

 這樣小夥伴們就可以愉快的一起用open*** 玩耍了,這樣做如果客戶端衆多的話需要廢點力氣。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章