Raspberry Pi 2 Model B(5)
Giga-bit USBアダプタを使うようにした際、OpenVPNの設定変更するのを忘れてました
Raspberry Pi 2の通信性能を測定してみてBUFFALO Giga USB3.0対応 有線LANアダプター LUA4-U3-AGTに一定の効果がある事が分かり、それ以降このGiga-bit USBアダプタを使っています。で、今ごろになってOpenVPNの接続が何かおかしい事に気付き、設定を変更する必要がある事を思い出した次第で。
Raspberry Pi 2本体のみの場合、Ethernetポートのデバイス名はeth0になります。しかし、Giga-bit USBアダプタを接続すると以下のように eth1というデバイスが追加されます。
# ifconfig
eth0 Link encap:イーサネット ハードウェアアドレス 12:34:56:78:9a:bc
UP BROADCAST MULTICAST MTU:1500 メトリック:1
RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:1000
RXバイト:0 (0.0 B) TXバイト:0 (0.0 B)
eth1 Link encap:イーサネット ハードウェアアドレス 23:45:67:89:ab:cd
inetアドレス:192.168.xxx.xxx ブロードキャスト:192.168.xxx.255 マスク:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1
RXパケット:78688 エラー:0 損失:1 オーバラン:0 フレーム:0
TXパケット:113351 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:1000
RXバイト:26056425 (24.8 MiB) TXバイト:42211825 (40.2 MiB)
|
今までLANには eth0で繋いでいたのが eth1になるわけですから、iptablesのOpenVPN用設定ファイル "/etc/iptables/rules.v4"を変更する必要がありますね。ここで話がややこしくなるのが、複数のネットワーク装置(NIC)がある場合、eth0, eth1などのデバイス名はブート時にOSがNICを見つけた順に割り振られると言う事。つまりGiga-bit USBアダプタが常に eth1になるとは限らないという事なのです。そのため、デバイス名が変わっても問題ないように設定を変更しなければならないわけですね。
幸いな事に iptablesには、そのような設定をするための記述方法がありました。デバイス名に eth+ と書けば ethで始まるデバイス全てを示すことになるのですと。と言うことで、以下のように "/etc/iptables/rules.v4"を書き換えました。
#
# Inputチェーン
# -------
# OpenVPN
# -------
-A INPUT -i eth+ -m state --state NEW -p udp --dport 1194 -j ACCEPT
-A INPUT -i tun+ -j ACCEPT
#
# FORWARDチェーン
#
# -------
# OpenVPN
# -------
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -o tun+ -j ACCEPT
-A FORWARD -i tun+ -o eth+ -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth+ -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
#
# OUTPUTチェーン
#
# -------
# OpenVPN
# -------
-A OUTPUT -o tun+ -j ACCEPT
|
良く見れば既に tunデバイスについて同じ書き方をしていますね。以前は意味を全く理解しないまま、あちこちのホームページからコピペ状態でしたからねぇ(^^;)。ホント、ちゃんと調べて意味を理解してから設定するようにしないとダメですね。応用が利かないし、トラブった時などに困ってしまう。
とにかく、あとは iptables-persistent を再起動すれば完了です。
|