上一集已經完成了VPN 連線設定,並成功連線至VPN Server 上,接著要來設定小瑞的另一台袐密花園,這一台的設定會比較簡單,一樣使用Linux 下的 dd 指令,ghost 過去,再設定相對應的網路,即可完成設定。

OpenVPN
OpenVPN: Building and Integrating Virtual Private Networks

前情提要:OpenVPN 建置筆記(第5集)

使用Xen 做一個CentOS 5.4

在底層Host OS 下,建立一個袐密花園,系統要用的Logical volume,vps06LV00 20G


[root@rico ~]#lvcreate -n vps06LV00 -L 20G /dev/VolGroup00
Logical volume "vps06LV00" created

接著跟做OpenVPN Server 時一樣,依樣畫葫蘆,把之前已經有做過了一個CentOS 5.4 x86_64 的作業系統,直接複製一份。


[root@rico ~]# dd if=/dev/VolGroup00/centos5x64 of=/dev/VolGroup00/vps06LV00
41943040+0 records in
41943040+0 records out
21474836480 bytes (21 GB) copied, 1035.76 s, 20.7 MB/s

編寫這台虛機的啟動Script 檔案,可以由openvpn.xen 複製過去。


[root@rico ~]#cp openvpn.xen garden.xen
[root@rico ~]# vi garden.xen
修改一下 vif 跟 disk 的部份
# ip 192.168.100.100 host: garden.nuface.tw vps06LV00 : 20G
name = "garden"
memory = "512"
vcpus = 1
vif = [ 'type=bridge, bridge=virbr0' ]
disk = [ 'phy:/dev/VolGroup00/vps06LV00,xvda,w']
root = "/dev/xvda1 ro"
# Sets runlevel 4.
extra = "4"
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
bootloader = "/usr/bin/pygrub"
vfb = [ 'type=vnc,vncunused=1']

啟動這台虛機。


[root@rico ~]#xm create garden.xen

使用VNC 方式連入底層的FC8 觀察開機狀況。順利開機成功。

開機狀況

由VNC 畫面上登入這台新建立的Garden 虛機,修改網路卡的設定。


[root@garden ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=garden.nuface.tw
GATEWAY=192.168.100.1
#gateway 設定192.168.100.1 是OpenVPN Server 上的IP ,讓封包都由100.1 這台轉送

再修改 eth0 的設定


[root@garden ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Xen Virtual Ethernet
DEVICE=eth0
BOOTPROTO=static
#HWADDR=00:16:3E:51:E0:58
IPADDR=192.168.100.100
NETMASK=255.255.255.0
ONBOOT=yes

Note,把HWADDR=XX:XX:XX:XX:XX:XX Mark 掉,不要指定HWADDR,由外層的Host OS 指定即可,如果在內層也指定的話,內外如果MAC 不同,會啟動另一個ifconfig 的設定,IP 就會跑掉。

搞定後,重啟network 。


[root@garden ~]#/etc/init.d/network restart

寫到這裏,基本上,小瑞的袐密花園已經建置完成,接著是連接上,我們之前設定VPN Server 。

連入vpn server

連入VPN server 過程

連入成功icon

連入成功後,此時我們來ping 看看 192.168.100.100 是否可以ping 到。

openvpn ping garden

成功的可以ping 到 。

接著試看看 tracert 的路徑。

openvpn tracert garden

路徑由10.8.0.1 再到192.168.100.100 ,所以有按照我們的預期,由VPN Server 將封包轉入192.168.100.100。

接著使用putty 登入 192.168.100.100

SSH login garden

可以登入成功,而且記錄上次登入的IP 為 10.8.0.6 為目前小瑞,使用VPN 後取得的IP

啟動一下httpd ,不做特別的設定了,反正可以動就好了


[root@garden ~]#/etc/init.d/httpd start

由小瑞的電腦登入一下

garden apache

可以成功登入,再試一下,寫一段小程式


[root@garden ~]#vi /var/www/html/test.php
';
echo '您目前登入的IP位置為:'.$_SERVER['REMOTE_ADDR'];
?>

garden php remote ip

的確,由外部登入的IP 也是 10.8.0.6 這個VPN 網段的IP 。 目前小瑞原本設計的測試腳本,己全部完成囉^_^。

還有下集嗎?嗯....有的。接下來的目標是,為這個VPN 做一個使用者帳號密碼,登入作業,同時可以限制使用者的登入時間,還有記錄使用者的登入次數及日期。沒辦法,稽核要查這些東東,只好做給他囉!

等這些都做完了,之後,再來做site to site 的VPN 囉,一切的一切..等下回分解了! 待續!

OpenVPN 建置筆記(第7集)

日期:2010/04/07 | 留言:7 個 | 作者:Rico | 瀏覽:
分類:MIS易筋經,網路篇
標籤:, , , , , ,
  1. 2010/04/08 at 18:40:00 | 1
    路人

    感謝你的分享,很清楚也很受用!!

  2. 2010/04/08 at 19:34:04 | 2
    Rico

    希望對你有幫助^_^

  3. 2010/05/11 at 16:36:04 | 3
    lwh

    達人有一種vpn連線方式是從家裡連到公司的公用ip向是pptpd ,ㄝ但好像只能內網相連,不知達人您聽懂嗎?用公司的ip上網作跳板用tks

  4. 2010/05/11 at 18:46:55 | 4
    Rico

    Hello , 一般這種PPTP 的方式, 大部份是 “暈倒” 系統的VPN 方式, 在Linux 下也可以架設成 pptp 的方式, 但在Linux 的核心要加入 PPTP 的支援才可實現! 另外, 如果要使用公司的IP 上網做跳板… 這種狀況通常是, 公司有提供 VPN 讓同事在下班後, 可以在家連回公司作業, 但能不能由公司在連至外面的Internet 要看, 公司的網管, 有沒有設定將你的連入封包, 要再到internet 時, 是否有做NAT 轉送, 如果沒有, 應該會出不去, 除非那台機器是你可以控制, 亦或著有多的對外IP , 可以讓你用, 自己架設vpn server , 即可透過公司的IP / Server 上Internet ! 以上參考一下!

  5. 2010/05/14 at 21:40:48 | 5
    lwh

    嗯!您說的對
    所以我才想學centos vpn小公司無網管,祇有ip分享器作防火牆,如此如此這般這般,但好像vpn啟動又失敗了

  1. |
    2010/04/07 at 14:21:00 | 1

    […] OpenVPN 建置筆記(第6集) 日期:2010/04/02 | 留言:1 個 | 作者:Rico | 瀏覽:5人次 分類:MIS易筋經, 網路篇 標籤:Open VPN, OpenVPN, tap, TAP-WIN32, tun 留言 (0) 引用 (1) […]

  2. |
    2010/06/07 at 17:56:11 | 2

    […] 總算又可以來寫我的OpenVPN 了,自從上一次寫了OpenVPN(1-6)集,獲得了廣大網友,不錯的迴響。本來想接著把後面的其它應用,再寫出來,但無奈被派外出差,整個人泡在酒裏,思緒不是那麼清楚,不敢隨便寫技術資料,怕寫錯了,誤人子弟囉!現在頭腦有清楚一點,就接著把後面小瑞對OpenVPN 的應用,接著分享出來^_^ Logo Ref Open VPN Project 前情提要:OpenVPN 建置筆記(第6集) […]

*

Copyright -0001 紐菲斯的部落格