iPadからLinuxMintにVPNでつないでみた

iPadからSplashtopで繋げたい。そのためにiPadからLinuxMintにVPNでつなぐようにした。
結論からいうと、結局VPN&VNCではLinuxMintに繋ぐ事はできなかったが、VPNで接続できるようにはなった。

VPNPPTP、L2TP、IPsecなどがあるが、今回は1番簡単かつ資料が多そうなPPTPを使うことにした。(ちなみにPPTPは昨年に脆弱性が発見されたので使わない方がいい)

1. PPTPのインストール

sudo apt-get install pptpd

2. confファイルの編集

/etc/pptpd.conf
localip 192.168.200.1
remoteip 192.168.200.128-238

ここで不思議に思ったのは、勝手にローカルIPやリモートIPを割り当てていいのだろうかというところ。
なぜ行けるのかもわからないが、うまくできている。
ローカルIPの仕組みを知る必要がある。

/etc/ppp/pptpd-options
ms-dns さくらのDNS
ms-dns さくらのDNS2
/etc/ppp/chap-secrets
# client, server, secret, IP addresses
username pptpd "password" *

serverは/etc/ppp/pptpd-optionsのnameと同じにする事。
デフォルトはpptpdになっている。
*にはリモートに割り当てるIPアドレスを書く。
*なら192.168.200.128-238の全てから一つ適当に選ばれるはず。

3. NATの設定

ufwを使っているのでufwの設定を書く。iptablesの人は参考文献参照。

/etc/defaults/ufw

パケットの転送を許可する。

#DEFAULT_FORWARD_POLICY="DROP"
DEFAULT_FORWARD_POLICY="ACCEPT"
/etc/ufw/sysctl.conf

IPフォワードを有効にする。

net/ipv4/ip_forward=1
/etc/sysctl.conf の場合

ufwのみでなくsysctl.confも設定する。

net.ipv4.ip_forward=1
sudo sysctl -p #設定のリロード
/etc/ufw/before.rules

IPマスカレードを設定する。
最初のコメントアウトのすぐ下に下記を書く。

# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Forward traffic from eth0 through eth1.
-A POSTROUTING -s 192.168.200.0/24 -o eth0 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT
ファイアウォール

ファイアウォールでPPTPのポート番号を許可にする

sudo ufw allow 1723 #PPTPのポート番号を許可

以上。
後はiPadからVPN後世設定すればVPNで接続できる。