L2TP と IPSEC VPN を確立します。
この記事は、自動翻訳ソフトウェアで行うからです。 記事のソースはここを参照してくださいすることができます。
導入
VPN (仮想プライベート ネットワーク) est un système permettant de créer un lien direct entre des ordinateurs distants. On utilise notamment ce terme dans le milieu de la dématérialisation fiscale et dans le travail à distance, ainsi que pour l'accès à des structures de type クラウド ・ コンピューティング. L'avantage du L2TP (レイヤー 2 用いた微小トンネル プロトコル) réside dans l'utilisation d'une clé pré partagée en plus des identifiants de connexion habituels. A cela s'ajoute IPSEC, une technologie d'encapsulation cryptée dans la trame IP.
前提条件
このチュートリアルを実行するには、必要があります。 :
- Linux ディストリビューションの下でマシン (Debian 8Fedora CentOS、Ubuntu は、ラズベリー Pi.) Debian では動作しません 8 もう存在しない OpenSwan のリポジトリのため
- あなたがわからない場合、あなたの公共の ip アドレスを知っています。 ここは!
チュートリアル
まず、root でログオンします。 (またはスーパーユーザの権限を持つユーザー、ユーザーを介して).パテを使用して、SSH 経由でリモート マシンへの接続またはコンピューターのグラフィカル インターフェイスにアクセスする場合、単にターミナルを開いてできます。
更新とインストール パッケージ
まず、あなたのマシンを更新して必要なリポジトリをインストール :
apt-get update && apt-get upgrade -y
apt-get install openswan xl2tpd ppp lsof
OpenSwan は既定値で y と答えて、いくつかの質問を求めます。'.
ファイアウォール ルールを追加します。
VPN トラフィックを許可する iptables にルールを追加します、 (置換 %SERVERIP% ip アドレスで、 サーバー) :
iptables -t nat -A POSTROUTING -j SNAT --to-source %SERVERIP% -o eth0
IP パケットのルーティングを有効にする次のコマンドを実行します。:
echo "net.ipv4.ip_forward = 1" | tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.accept_redirects = 0" | tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.send_redirects = 0" | tee -a /etc/sysctl.conf
echo "net.ipv4.conf.default.rp_filter = 0" | tee -a /etc/sysctl.conf
echo "net.ipv4.conf.default.accept_source_route = 0" | tee -a /etc/sysctl.conf
echo "net.ipv4.conf.default.send_redirects = 0" | tee -a /etc/sysctl.conf
echo "net.ipv4.icmp_ignore_bogus_error_responses = 1" | tee -a /etc/sysctl.conf
for vpn in /proc/sys/net/ipv4/conf/*; do echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; done
sysctl -p
マシンを再起動する永続化します。 :
nano /etc/rc.local
次に、直前に最後に追加、 出口 0 :
for vpn in /proc/sys/net/ipv4/conf/*; do echo 0 > $vpn/accept_redirects; echo 0 > $vpn/send_redirects; done
iptables -t nat -A POSTROUTING -j SNAT --to-source %SERVERIP% -o eth+
実装IPSEC
新しい構成ファイルを作成します。 ipsec :
mv /etc/ipsec.conf /etc/ipsec.conf.bak && nano /etc/ipsec.conf
その後に、この棒します。 : 交換を忘れてはなりません。 %SERVERIP% IP アドレスで、 サーバー
version 2 # conforms to second version of ipsec.conf specification
config setup
dumpdir=/var/run/pluto/
#in what directory should things started by setup (notably the Pluto daemon) be allowed to dump core?
nat_traversal=yes
#whether to accept/offer to support NAT (NAPT, also known as "IP Masqurade") workaround for IPsec
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v6:fd00::/8,%v6:fe80::/10
#contains the networks that are allowed as subnet= for the remote client. In other words, the address ranges that may live behind a NAT router through which a client connects.
protostack=netkey
#decide which protocol stack is going to be used.
force_keepalive=yes
keep_alive=60
# Send a keep-alive packet every 60 seconds.
conn L2TP-PSK-noNAT
authby=secret
#shared secret. Use rsasig for certificates.
pfs=no
#Disable pfs
auto=add
#the ipsec tunnel should be started and routes created when the ipsec daemon itself starts.
keyingtries=3
#Only negotiate a conn. 3 times.
ikelifetime=8h
keylife=1h
ike=aes256-sha1,aes128-sha1,3des-sha1
phase2alg=aes256-sha1,aes128-sha1,3des-sha1
# https://lists.openswan.org/pipermail/users/2014-April/022947.html
# specifies the phase 1 encryption scheme, the hashing algorithm, and the diffie-hellman group. The modp1024 is for Diffie-Hellman 2. Why 'modp' instead of dh? DH2 is a 1028 bit encryption algorithm that modulo's a prime number, e.g. modp1028. See RFC 5114 for details or the wiki page on diffie hellmann, if interested.
type=transport
#because we use l2tp as tunnel protocol
left=%SERVERIP%
#fill in server IP above
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
dpddelay=10
# Dead Peer Dectection (RFC 3706) keepalives delay
dpdtimeout=20
# length of time (in seconds) we will idle without hearing either an R_U_THERE poll from our peer, or an R_U_THERE_ACK reply.
dpdaction=clear
# When a DPD enabled peer is declared dead, what action should be taken. clear means the eroute and SA with both be cleared.
On crée ensuite le preshared secret (事前共有キー) :
nano /etc/ipsec.secrets
この行を入力します。 :
%SERVERIP% %any: PSK "VotreClePlusOuMoinsSecurisee"
交換すること %SERVERIP% par l'IP de votre サーバー. Si vous séchez pour la création de votre clé vous pouvez utilisez la commande suivante :
openssl rand -hex 30
我々 は、すべての罰金ですので、このコマンドを使用するをチェックします。 :
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.38/K3.13.0-24-generic (netkey)
Checking for IPsec support in kernel [OK]
SAref kernel support [N/A]
NETKEY: Testing XFRM related proc values [OK]
[OK]
[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 /bin/sh is not /bin/dash [WARNING]
Checking for 'iptables' command [OK]
Opportunistic Encryption Support [DISABLED]
Configuration de xl2tpd
新しい構成ファイルを編集してみましょう :
mv /etc/xl2tpd/xl2tpd.conf /etc/xl2tpd/xl2tpd.conf.bak && nano /etc/xl2tpd/xl2tpd.conf
その後に、この棒します。 :
[global]
ipsec saref = yes
saref refinfo = 30
;debug avp = yes
;debug network = yes
;debug state = yes
;debug tunnel = yes
[lns default]
ip range = 172.16.1.30-172.16.1.100
local ip = 172.16.1.1
refuse pap = yes
require authentication = yes
;ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
PPP 設定
この部分は、新しい構成ファイルを再度作成します (1 つの文であまりにも新しい :3) :
mv /etc/ppp/options.xl2tpd /etc/ppp/options.xl2tpd.bak && nano /etc/ppp/options.xl2tpd
これを挿入します :
require-mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
auth
mtu 1200
mru 1000
crtscts
hide-password
modem
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
ここでは、私は google に変更、お好みのものを使用するための無料の公共の DNS を使用 ! ;)
ユーザーを追加します。
最終的に ! この重要なステップする vpn ユーザーにログイン名とパスワードを設定し、このファイルを編集できるようになります :
nano /etc/ppp/chap-secrets
典型的な行の下:
jean l2tpd 0F92E5FC2414101EA *
'注意 : このファイルは、小文字、大文字を配置する場合ログインまたはパスワードを入力するとそれを維持する必要があります '。
最後に再起動します。 :
/etc/init.d/ipsec restart && /etc/init.d/xl2tpd restart
この記事はあなたに役に立つよう ?
コメントの自動更新を有効化