CentOS 5.4 VPN(ipsec/l2tp)設定, 可讓windows簽入

版主: stnet253

回覆文章
tony
文章: 585
註冊時間: 2012-02-26, 07:04
聯繫:

CentOS 5.4 VPN(ipsec/l2tp)設定, 可讓windows簽入

未閱讀文章 tony »

如何在CentOS 5.4 下安裝VPN(l2tp/ipsec) Server

1. 安裝openswan, ipsec , ppp
直接用CentOS裏面即可

2. 安裝xl2tpd(http://www.xelerance.com/software/xl2tp ... 2.4.tar.gz)
解開後進入該目錄,執行
make
此時無法編譯成功, 但是已經可以看到xl2tpd這個檔案了
因此可以
cp xl2tpd /usr/local/sbin/
mkdir /etc/xl2tpd
cp examples/xl2tpd.conf /etc/xl2tpd/

3. 安裝rp-l2tpd (彌補xl2tpd 1.2.4 無法完整編譯)
http://sourceforge.net/projects/rp-l2tp/
下載後解開,進入該目錄,後執行
./configure
make
cp handlers/l2tp-control /usr/local/sbin/
mkdir /var/run/xl2tpd
ln -s /usr/local/sbin/l2tp-control /var/run/xl2tpd/l2tp-control

4. xl2tpd 設定
修改/etc/xl2tpd/xl2tpd.conf (預設沒有此檔)
ip range = 您希望對方可以得到哪些ip
local ip = server ip
ex:
[lns default]
ip range = 192.168.0.11-192.168.0.13
local ip = 192.168.0.1
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

5. 修改 /etc/ppp/options.xl2tpd
ms-dns = 內部ms dns的ip
ex:
ipcp-accept-local
ipcp-accept-remote
ms-dns 192.168.0.2
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
defaultroute
debug
lock
proxyarp
connect-delay 5000

6. ipsec 設定
5.1 設定 psk (pre-shared-key)
vi /etc/ipsec.d/william.secrets
###############################
%any: PSK "your secret key"
server_ip: PSK "your secret key"
###############################
其中 server_ip 是您的server ip
5.2 vi /etc/ipsec.conf
加上此段
include /etc/ipsec.d/examples/*.conf
主要是include no_oe.conf,l2tp-psk.conf,若examples下沒有這檔案,請找我要
7. ppp 設定
vi /etc/ppp/chap-secrets
加上
william * test *

其中william 是帳號, test是密碼

8. 開啟nat,底下192.168.0.0是內部ip範圍

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE

9. 設定網路相關設定是否開啟
/etc/sysctl.conf

net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.default.log_martians = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1


10. 重開機(reboot),確認是否完備

11. 啟動 server(建議加在/etc/rc.local)
/etc/rc.d/init.d/ipsec start
/usr/loccal/sbin/xl2tpd -D &

12. 若有使用防火牆,記得開放 udp 500, 4500, tcp 4500 , 以及允許 -i eth0(eth0 對外)
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4500 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 500 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 4500 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT


ps. 要驗證ipsec 請執行
ipsec verify
要記得看log,有時候會遇到不預期的情形,此時就可以看log解決
/var/log/secure
/var/log/message


測試環境
linux CentOS 5.4
kernel 2.6.18
-------------------------------------------------------------
Windows XP client 設定

(一) 新增連線

1. 開始->設定->網路連線->新增連線精靈

2. 選擇連線到公司網路(使用指定撥號或是vpn)

3. 選擇虛擬私人網路連線

4. 輸入名稱(可以隨意選)

5. 輸入vpn server IP

(二) 修改設定

1. 找出此VPN連線的TCP/IP設定, 選進階設定, 拿掉"使用遠端網路的預設匣道"

2. 找出"安全性" , 拿掉要求資料加密, 以及"ipsec 設定"選項,輸入PSK(pre-shared key)

這樣就可以了
回覆文章

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客