前回はCentOS6にVPNクライアント(pptp、pptp-setup)をインストールしましたが、今回はfedora20にVPNクライアントをインストールしてみます。
■ PPTPクライアント インストール
PPTPクライアントはbaseリポジトリにあるので、yumでインストールすることにします。
$ sudo yum install pptp pptp-setup
■ iptables設定
fedora20はiptablesの設定をfirewalldが司っているため、firewall-cmdコマンドでgreトンネルの穴をあけてやります。
$ sudo firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT success $ sudo firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT success
firewall-cmdコマンドの引数に --permanent をつけると、設定は /etc/firewalld/direct.xml に書き込まれます。
$ sudo cat /etc/firewalld/direct.xml <?xml version="1.0" encoding="utf-8"?> <direct> <rule priority="0" table="filter" ipv="ipv4" chain="INPUT">-p gre -j ACCEPT</rule> </direct>
■ PPTPクライアント初期設定
pptpsetupコマンドで以下のパラメーターを投入します。
識別名: SAKURA
VPNサーバー IPアドレス: 133.242.xxx.xxx
ユーザー名: nullpopopo
パスワード: P@sSw0rD
$ sudo pptpsetup --create "SAKURA" --server "133.242.xxx.xxx" --username "nullpopopo" --password "P@sSw0rD" --encrypt
■ VPN接続
VPN接続はpppdコマンドで行います。
$ sudo pppd call SAKURA updetach
■ ルーティング設定
VPNが繋がったら、最初にルーティングを行います。対向ルーターのプライベートIPアドレスを1hop目に設定します。まずはipコマンドを使ってppp0インターフェイスの確認です。
$ ip a show dev ppp0
対向ルーターのIPアドレスを取得する(IPアドレスのみ表示させるシェル芸)
$ ip a show dev ppp0 | grep inet | awk '{print $4}' | sed -e 's/\/[0-9]*//g'
それではルーティングの設定です。コマンド実行の順序を間違えないようにしましょう。
$ sudo ip route add default via 10.0.0.10 $ sudo ip route add 0.0.0.0 dev ppp0 $ sudo ip route del default via 192.168.0.254
■ VPN切断
VPN接続が終わったら、VPN切断を行います。ルーティング設定は勝手に元にもどってくれるようです。
$ sudo pkill -f "pppd call SAKURA updetach"
以上です。ね、簡単でしょう?
[amazonjs asin="4798042595" locale="JP" title="これならわかる!Linuxサーバー入門講座"]
※ 追伸
VPN接続時にモデムがハングアップしまくりでggりまくった結果、firewalldを止めてみたらうまく動いた→その後、greトンネルの通信が阻害されていたことが判明→firewall-cmdでどうやって設定するん?と悩んでいたら、Twitterでヒントをいただきました。
[緩募]firewalldでgreトンネルの穴開ける方法
なお、iptablesではこうしました。
# iptables -A INPUT -p gre -j ACCEPT
# iptables -A OUTPUT -p gre -j ACCEPT— (っ´∀`)っ ゃー (@nullpopopo) February 16, 2015
@nullpopopo GREはないですけれどL2TPの例なら見つけました→ http://t.co/Ix9skcnNGg
— わんわん (@roaring_dog) February 16, 2015
@roaring_dog さん、ありがとうございます。
※ 参考サイト
http://unix.stackexchange.com/questions/150837/redhat-centos-7-firewalld-best-practice-for-pptp-or-l2tp-ipsec-rules
http://www.vqiu.cn/?p=420