ubuntu搭建vpn伺服器
㈠ 如何在 Debian / Ubuntu 伺服器上架設PPTP / L2TP / IPSec VPN
你說的是伺服器端 ??? 網上有類似的腳本 下載腳本 更改 許可權 ./****.sh 運行就行了
㈡ 如何阿里雲ubuntu 搭建vpn
vpn是一種虛擬專用網路,其作用是:在公用網路上建立專用網路,進行加密通訊。在企業網路中有廣泛應用。VPN網關通過對數據包的加密和數據包目標地址的轉換實現遠程訪問。VPN有多種分類方式,主要是按協議進行分類。VPN可通過伺服器、硬體、軟體等多種方式實現。
㈢ 如何在Ubuntu下配置L2TP VPN
如何在Ubuntu下配置L2TP VPN
1、右鍵單擊「網上鄰居」選擇「屬性」,打開網路連接屬性。
2、在右側的「網路任務」欄中點擊「創建一個新的連接。
3、打開新建連接向導,點「下一步」。在 「網路連接屬性」選擇里,點擊「設置高級連接」,點擊「下一步」,然後,在接下來的「高級連接選項」中選擇「接受傳入的連接」。點擊「下一步」。勾尋直接並行,點擊「下一步」。
4、勾尋允許虛擬專用連接」,點「下一步」。
5、創建一個允許連接的用戶許可權。點擊「添加」按鈕,輸入雙魚IP轉換器賬戶和密碼後點「確定」。點擊「下一步」繼續。
6、在「網路軟體」中勾選需要用到的協議,一般保持默認即可。點擊「下一步」後,伺服器就搭建完成了。
選擇「開始」→「設置」→「控制面板」→「網路連接」→「創建一個新的連接」→「下一步」→「連接到我的工作場所的網路」→「下一步」→「虛擬專用網路連接」,按說明完成後面的操作即可。
㈣ 如何在Ubuntu下配置L2TP VPN
安裝軟體包
sudo apt-get install xl2tpd openswan ppp
IPSec / Openswan
打開 /etc/ipsec.conf 文件,做如下配置:
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!10.152.2.0/24
# 這里包含的網路地址允許配置為遠程客戶端所在的子網。換句話說,
# 這些地址范圍應該是你的NAT路由器後面的客戶端的地址。
oe=off
protostack=netkey
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
# Apple 的 iOS 不會發送 delete 提醒,
# 所以我們需要通過死亡對端(dead peer)檢測來識別斷掉的客戶端
dpddelay=30
dpdtimeout=120
dpdaction=clear
# 設置 ikelifetime 和 keylife 和 Windows 的默認設置一致
ikelifetime=8h
keylife=1h
type=transport
# 替換 IP 地址為你的本地IP (一般是,私有地址、NAT內的地址)
left=x.x.x.x
# 用於升級過的 Windows 2000/XP 客戶端
leftprotoport=17/1701
# 要支持老的客戶端,需要設置 leftprotoport=17/%any
right=%any
rightprotoport=17/%any
# 強制所有連接都NAT,因為 iOS
forceencaps=yes
注意你的ipsec.conf文件,"config setup" 和 "L2TP-PSK-NAT"、 "L2TP-PSK-NAT"應該頂著行頭寫,而其它行應該以8個空格縮進。
打開 /etc/ipsec.secrets,配置:
x.x.x.x %any: PSK "somegoodpassword"
這里x.x.x.x 替換為你的伺服器的IP地址,並設置一個復雜的密碼。
啟動 IPSEC 服務:
/etc/init.d/ipsec start
使用如下命令確認 ipsec 是否工作正常:
sudo ipsec verify
應該沒有任何錯誤才行:
Checking your system to see ifIPsec got installed and started correctly:
Version check and ipsec on-path [OK]
LinuxOpenswan U2.6.28/K2.6.32-32-generic-pae (netkey)
CheckingforIPsec support in kernel [OK]
NETKEY detected, testing for disabled ICMP send_redirects [OK]
NETKEY detected, testing for disabled ICMP accept_redirects [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500[OK]
Pluto listening for NAT-T on udp 4500[OK]
Checkingfor'ip' command [OK]
Checkingfor'iptables' command [OK]
[DISABLED]
在 /etc/init.d 下創建一個名為 ipsec.vpn 的文件,內容如下:
case"$1"in
start)
echo "Starting my Ipsec VPN"
iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24-j MASQUERADE
echo 1>/proc/sys/net/ipv4/ip_forward
for each in/proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
/etc/init.d/ipsec start
/etc/init.d/xl2tpd start
;;
stop)
echo "Stopping my Ipsec VPN"
iptables --table nat --flush
echo 0 > /proc/sys/net/ipv4/ip_forward
/etc/init.d/ipsec stop
/etc/init.d/xl2tpd stop
;;
restart)
echo "Restarting my Ipsec VPN"
iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
/etc/init.d/ipsec restart
/etc/init.d/xl2tpd restart
;;
*)
echo "Usage: /etc/init.d/ipsec.vpn {start|stop|restart}"
exit 1
;;
esac
這會配置防火牆轉發。記得修改上面文件的本地IP地址池10.152.2.0/24為你自己的。
然後給這個文件設置可執行許可權:
sudo chmod 755 ipsec.vpn
禁止默認的 ipsec 服務腳本運行:
sudo update-rc.d -f ipsec remove
然後,啟用我們剛才定製的這個:
sudo update-rc.d ipsec.vpn defaults
㈤ 如何在Ubuntu下配置PPTP VPN
介紹Ubuntu PPTP設置教程,設置前請配置好網路和更新源,另外檢查安裝最新更新。完成後,首先點擊桌面右上角的網路圖標,在下拉菜單里選擇配置
在網路連接窗口中切換到選項卡,點擊「添加」
在彈出創建VPN類型窗口中選擇「Point-to-Point Tunneling Protocol (PPTP)」,點擊「新建」。
填寫連接名稱和伺服器地址、用戶名密碼。
點擊上圖右下角的「Advanced」按鈕,在高級設置里取消「EAP」選項,另外勾選「Use point-to-point encryption(MPPE)」,然後點擊確定退出。
用 世界游的 穩
㈥ 如何在 Debian / Ubuntu 伺服器上架設 L2TP / IPSec VPN
Ubuntu / Debian:自己把點換成 .
1
2
3
wget mirror.zeddicus點com/auto-l2tp/1.2/ubuntu/l2tp.sh
chmod +x l2tp.sh
./l2tp.sh
此時需要輸入IP段與PSK,值得注意的是,如果希望L2TP的IP段是 10.0.0.0 的話,則在腳本的IP-RANGE中輸入 「10.0.0″。PSK 是 l2tp client 共同使用的密匙,同樣是必填的。
輸入了IP段和PSK之後,程序會顯示你的VPS當前的IP(IPV4)、L2TP的本地IP、分配給客戶端的IP段以及你所設置的PSK,請確認無誤後,按任意鍵,程序便會開始自動配置。
安裝完畢後會運行 ipsec verify,前面是OK,最後一個為DISABLED,證明配置成功!用於測試的用戶名與密碼分別是:test / test123,記錄於 /etc/ppp/chap-secrets 文件當中。
㈦ 如何在Ubuntu下配置PPTP VPN
Ubuntu下SSH安裝或設置
來源:Linux社區 作者:RaymondLu
Ubuntu 下安裝 OpenSSH Server 是無比輕松的一件事情,需要的命令只有一條:
sudo apt-get install openssh-server
(查看返回的結果,如果沒有出錯,則用putty、SecureCRT、SSH Secure Shell Client等SSH 客戶端軟體,輸入您伺服器的 IP 地址。如果一切正常的話,等一會兒就可以連接上了。並且使用現有的用戶名和密碼應該就可以登錄了。)
然後確認sshserver是否啟動了:(或用「netstat -tlp」命令)
ps -e | grep ssh
如果只有ssh-agent那ssh-server還沒有啟動,需要/etc/init.d/ssh start,如果看到sshd那說明ssh-server已經啟動了。
ssh-server配置文件位於/ etc/ssh/sshd_config,在這里可以定義SSH的服務埠,默認埠是22,你可以自己定義成其他埠號,如222。然後重啟SSH服務:
sudo /etc/init.d/ssh resart
事實上如果沒什麼特別需求,到這里 OpenSSH Server 就算安裝好了。但是進一步設置一下,可以讓 OpenSSH 登錄時間更短,並且更加安全。這一切都是通過修改 openssh 的配置文件 sshd_config 實現的。
首先,您剛才實驗遠程登錄的時候可能會發現,在輸入完用戶名後需要等很長一段時間才會提示輸入密碼。其實這是由於 sshd 需要反查客戶端的 dns 信息導致的。我們可以通過禁用這個特性來大幅提高登錄的速度。首先,打開 sshd_config 文件:
sudo nano /etc/ssh/sshd_config
找到 GSSAPI options 這一節,將下面兩行注釋掉:
#GSSAPIAuthentication yes #GSSAPIDelegateCredentials no然後重新啟動 ssh 服務即可:
sudo /etc/init.d/ssh restart
再登錄試試,應該非常快了吧
利用 PuTTy 通過證書認證登錄伺服器
SSH 服務中,所有的內容都是加密傳輸的,安全性基本有保證。但是如果能使用證書認證的話,安全性將會更上一層樓,而且經過一定的設置,還能實現證書認證自動登錄的效果。
首先修改 sshd_config 文件,開啟證書認證選項:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys修改完成後重新啟動 ssh 服務。
下一步我們需要為 SSH 用戶建立私鑰和公鑰。首先要登錄到需要建立密鑰的賬戶下,這里注意退出 root 用戶,需要的話用 su 命令切換到其它用戶下。然後運行:
ssh-keygen
這里,我們將生成的 key 存放在默認目錄下即可。建立的過程中會提示輸入 passphrase,這相當於給證書加個密碼,也是提高安全性的措施,這樣即使證書不小心被人拷走也不怕了。當然如果這個留空的話,後面即可實現 PuTTy 通過證書認證的自動登錄。
ssh-keygen 命令會生成兩個密鑰,首先我們需要將公鑰改名留在伺服器上:
cd ~/.ssh mv id_rsa.pub authorized_keys然後將私鑰 id_rsa 從伺服器上復制出來,並刪除掉伺服器上的 id_rsa 文件。
伺服器上的設置就做完了,下面的步驟需要在客戶端電腦上來做。首先,我們需要將 id_rsa 文件轉化為 PuTTy 支持的格式。這里我們需要利用 PuTTyGEN 這個工具:
點擊 PuTTyGen 界面中的 Load 按鈕,選擇 id_rsa 文件,輸入 passphrase(如果有的話),然後再點擊 Save PrivateKey 按鈕,這樣 PuTTy 接受的私鑰就做好了。
打開 PuTTy,在 Session 中輸入伺服器的 IP 地址,在 Connection->SSH->Auth 下點擊 Browse 按鈕,選擇剛才生成好的私鑰。然後回到 Connection 選項,在 Auto-login username 中輸入證書所屬的用戶名。回到 Session 選項卡,輸入個名字點 Save 保存下這個 Session。點擊底部的 Open 應該就可以通過證書認證登錄到伺服器了。如果有 passphrase 的話,登錄過程中會要求輸入 passphrase,否則將會直接登錄到伺服器上,非常的方便。
㈧ 如何在Ubuntu下配置L2TP VPN
安裝軟體包
sudo apt-get install xl2tpd openswan ppp
IPSec / Openswan
打開 /etc/ipsec.conf 文件,做如下配置:
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!10.152.2.0/24
這里包含的網路地址允許配置為遠程客戶端所在的子網。換句話說,
這些地址范圍應該是你的NAT路由器後面的客戶端的地址。
㈨ 如何在Ubuntu下配置L2TP VPN
安裝軟體包
sudo apt-get install xl2tpd openswan ppp
IPSec / Openswan
打開 /etc/ipsec.conf 文件,做如下配置:
config setup nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!10.152.2.0/24 # 這里包含的網路地址允許配置為遠程客戶端所在的子網。換句話說, # 這些地址范圍應該是你的NAT路由器後面的客戶端的地址。 oe=off protostack=netkey conn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNAT conn L2TP-PSK-noNAT authby=secret pfs=no auto=add keyingtries=3 rekey=no # Apple 的 iOS 不會發送 delete 提醒, # 所以我們需要通過死亡對端(dead peer)檢測來識別斷掉的客戶端 dpddelay=30 dpdtimeout=120 dpdaction=clear # 設置 ikelifetime 和 keylife 和 Windows 的默認設置一致 ikelifetime=8h keylife=1h type=transport # 替換 IP 地址為你的本地IP (一般是,私有地址、NAT內的地址) left=x.x.x.x # 用於升級過的 Windows 2000/XP 客戶端 leftprotoport=17/1701 # 要支持老的客戶端,需要設置 leftprotoport=17/%any right=%any rightprotoport=17/%any # 強制所有連接都NAT,因為 iOS forceencaps=yes
注意你的ipsec.conf文件,"config setup" 和 "L2TP-PSK-NAT"、 "L2TP-PSK-NAT"應該頂著行頭寫,而其它行應該以8個空格縮進。
打開 /etc/ipsec.secrets,配置:
x.x.x.x %any: PSK "somegoodpassword"
這里x.x.x.x 替換為你的伺服器的IP地址,並設置一個復雜的密碼。
啟動 IPSEC 服務:
/etc/init.d/ipsec start
使用如下命令確認 ipsec 是否工作正常:
sudo ipsec verify
應該沒有任何錯誤才行:
Checking your system to see if IPsec got installed and started correctly:Version check and ipsec on-path [OK]Linux Openswan U2.6.28/K2.6.32-32-generic-pae (netkey)Checking for IPsec support in kernel [OK]NETKEY detected, testing for disabled ICMP send_redirects [OK]NETKEY detected, testing for disabled ICMP accept_redirects [OK]Checking that pluto is running [OK]Pluto listening for IKE on udp 500 [OK]Pluto listening for NAT-T on udp 4500 [OK]Checking for 'ip' command [OK]Checking for 'iptables' command [OK]Opportunistic Encryption Support [DISABLED]
在 /etc/init.d 下創建一個名為 ipsec.vpn 的文件,內容如下:
case "$1" in start) echo "Starting my Ipsec VPN" iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward for each in /proc/sys/net/ipv4/conf/* do echo 0 > $each/accept_redirects echo 0 > $each/send_redirects done /etc/init.d/ipsec start /etc/init.d/xl2tpd start;; stop) echo "Stopping my Ipsec VPN" iptables --table nat --flush echo 0 > /proc/sys/net/ipv4/ip_forward /etc/init.d/ipsec stop /etc/init.d/xl2tpd stop;; restart) echo "Restarting my Ipsec VPN" iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward for each in /proc/sys/net/ipv4/conf/* do echo 0 > $each/accept_redirects echo 0 > $each/send_redirects done /etc/init.d/ipsec restart /etc/init.d/xl2tpd restart ;; *) echo "Usage: /etc/init.d/ipsec.vpn {start|stop|restart}" exit 1;;esac
這會配置防火牆轉發。記得修改上面文件的本地IP地址池10.152.2.0/24為你自己的。
然後給這個文件設置可執行許可權:
sudo chmod 755 ipsec.vpn
禁止默認的 ipsec 服務腳本運行:
sudo update-rc.d -f ipsec remove
然後,啟用我們剛才定製的這個:
sudo update-rc.d ipsec.vpn defaults
L2TP
修改 /etc/xl2tpd/xl2tpd.conf :
[global]ipsec saref = no [lns default]ip range = 10.152.2.2-10.152.2.254local ip = 10.152.2.1require chap = yesrefuse pap = yesrequire authentication = yesppp debug = yespppoptfile = /etc/ppp/options.xl2tpdlength bit = yes
配置說明如下:
ip range = 可以連接VPN服務的客戶端IP地址范圍
local ip = VPN 伺服器的IP,必須在客戶端IP范圍之外
refuse pap = 拒絕 pap 認證
ppp debug = 測試時打開
選擇一個復雜的挑戰-響應式驗證字元串。雖然沒有最短長度限制,不過它應該至少有16個字元,也應該足夠復雜才能保證安全。
打開文件 /etc/xl2tpd/l2tp-secrets ,填入你的密碼:
* * exampleforchallengestring
打開文件 /etc/ppp/options.xl2tpd,做如下配置:
refuse-mschap-v2refuse-mschapms-dns 8.8.8.8ms-dns 8.8.4.4asyncmap 0authcrtsctsidle 1800mtu 1200mru 1200lockhide-passwordlocal#debugname l2tpdproxyarplcp-echo-interval 30lcp-echo-failure 4
ms-dns 選項設置要給客戶端分配的 DNS 伺服器,當客戶端連接時,就會被分配這些 DNS。如果要加入多個 DNS,就每行一個,分別寫幾行。
如果你要給客戶端推送wins設置,可以分別設置如下選項。
mtu 和 mru 按照openswan.org的說法,減小 mru/mtu 的大小非常重要。因為 l2tp/ipsec 會封裝幾次,可能導致性能下降,減小這個配置的大小可以一次性傳輸全部的包。
proxyarp 可以將連接的客戶端的IP地址和乙太網地址加入的系統的ARP表中。這會影響到本地區域網內其它客戶端。
name l2tpd 用在 PPP驗證文件裡面。
添加用戶
打開文件 /etc/ppp/chap-secrets ,做如下配置:
user1 l2tpd chooseagoodpassword *user2 * chooseagoodpassword *
每行包括如下欄位:
客戶端 = 用戶名稱
伺服器 = 在上面的 /etc/ppp/options.xl2tpd 定義的名字
密碼 = 用戶密碼,你應該設置一個足夠復雜的密碼
IP 地址 = * 表示用戶可以從任何地址連接,否則設置用戶只能從特定的地址連接
注意:你可以添加多個用戶。
IP轉發
打開文件 /etc/sysctl.conf,修改配置:
net.ipv4.ip_forward=1
載入新的配置:
sysctl -p
啟動VPN
sudo /etc/init.d/ipsec.vpn restartsudo /etc/init.d/xl2tpd restart
排除故障
如果遇到了問題,以下命令可以幫助你找到問題:
sudo tcpmp -i ppp0sudo tail -f /var/log/auth.logsudo tail -f /var/log/syslog
你可以可以在伺服器上使用如下命令來監控:
sudo tcpmp -i eth0 host aaa.bbb.ccc.ddd and not port ssh
㈩ 如何在Ubuntu上安裝OpenVPN
我理解,OpenVPN的配置根據實現分三種方式:
單機 - - 站點
站點 - - 站點
單機 - - 單機
本文的描述適合單機 - - 站點實現方式,也可以理解為移動用戶連回公司網路。
目錄
1. 安裝
2. 設置認真機構,產生證書
3. 配置Server端
4. 配置Client端
1. 安裝
Ubuntu中安裝OpenVPN極其簡單:
代碼: sudo apt-get install openvpn
在Windows中安裝則建議使用 OpenVPN GUI for Windows的Installation Package,其中包括了OpenVPN本身以及在Windows中使用方便的圖形界面。
2. 設置認真機構,產生證書
參考OpenVPN的Howto進行操作,一般不會有什麼問題。
在Ubuntu中大致這樣操作,將目錄 /usr/share/doc/openvpn/examples/easy-rsa/2.0 復制的你的家目錄,修改vars使其符合你的實際情況(國家、省份、城市、公司、機構、郵件地址),然後運行 代碼: ./vars
./clean-all
./build-ca
./build-key-server <servername>
./build-key <clientname>
./build-dh
注
意:這只是第一次產生證書的正確操作,其中 build-ca 創建根證書,若你沒有清除全部VPN
Server/Client的打算,你不應該再次運行此命令;創建的全部證書及私鑰都在當前目錄的 keys 下面,而命令 clean-all 將清除
keys 下面全部內容,因此 cliean-all 只在 build-ca 前運行一次。
隨後添加 Server 證書或 Client 證書只需運行 代碼: ./vars
./build-key-server <servername>
or
./build-key <clientname>
3. 配置Server端
從示例中解壓 server.conf 代碼: sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
將相關證書、私匙拷貝的 /etc/openvpn
ca.crt
server.crt
server.key
dh1024.pem
修改 server.conf
關鍵一:取消注釋 push "route a.b.c.d 255.255.255.0",並將地址和掩碼替換為辦公網路的地址和掩碼
目
的是為客戶端加一條路由,這樣客戶端才有可能訪問到辦公網路中出VPN
Server之外的其它主機(有很多VPN客戶端直接添加默認路由,這樣客戶端的所有連接請求都被路由到 VPN
通道內,結果是客戶端此時不能訪問VPN,而此項添加指定地址的路由不會導致這一問題)
關鍵二:取消注釋 push "dhcp-option
DNS a.b.c.d" 和 push "dhcp-option WINS a.b.c.d", 並將地址替換為實際的 DNS 和 WINS
伺服器的地址,最好 DNS 伺服器能將外部域名的解析要求轉發的外部 DNS 伺服器
目的是客戶端連接VPN後仍能訪問Internet,(若推過來的DNS不能解析外部域名,則即使客戶端的路由配置正確,想通過域名訪問Internet也不可能)
Server端其它設置
配置伺服器,運行包轉發: 代碼: echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
關鍵三:若VPN Server不是辦公網路的默認網關,則想辦法在默認網關上添加到 10.8.0.0/24 的路由項目,網關為伺服器的內部 IP 地址。
關鍵一中的操作只是能夠讓客戶端知道去往公司網路的包如何路由,而關鍵三的操作是為了讓公司網路里的主機知道去往VPN Client的包如何路由。
對
於Netscreen 25(screenos 5.3.0r3.0),Network - Routing - Destination -
[trust-vr]New - IP/mask [10.8.0.0]/[24] - 選 [Gateway], Interface
[ethernet1], Gateway IP Address [Internal IP of VPN Server]
4. 配置Client端
在Ubuntu中,
4.1.1 從示例中拷貝client.conf 代碼: sudo cp //usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
4.1.2 將相關證書、私鑰拷貝到/etc/openvpn:
ca.crt
client.crt
client.key
4.1.3 修改/etc/openvpn/client.conf:
在 remote my-server-1 1194 這一行,將 my-server-1 換成 VPN Server 的外部IP
關鍵四:在結尾添加兩行 代碼: up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
目的是根據Server推過來的 dhcp-option 更新域名解析設置
4.1.4 其它設置:
關鍵五:安裝resolvconf軟體包 代碼: sudo apt-get install resolvconf 關鍵四中設置的腳本需要使用此軟體。
在Windows中,
4.2.1 將client.ovpn拷貝的config目錄
4.2.2 將證書和相關私匙拷貝到config目錄
ca.crt
client.crt
client.key
4.2.3 將client.ovpn中的my-server-1改為VPN Server的外部IP