PCリンクスでは、パソコンの設定・修理から組込み機器の受託開発まで承ります。

 

PacketiX VPN 4.0 のベータ版(RC1)でtapデバイスを試す

4回目の今回は、Linux(CentOS)でPacketiX VPN 4.0 RC1 のtapデバイスを試します。

LinuxにPacketiX VPN をインストールすると、Linux固有の制限事項により、PacketiX VPN をインストールしたサーバ自身に、クライアントPCからアクセスすることが出来ないという、「困った問題」が発生します。
※サーバにインストールしたWebサーバやAsteriskをVPN接続したクライアントPCから使えません!

詳細は、こちら web版オンラインマニュアル – ローカルブリッジ を参照ください。

この問題に対処するために、PacketiX VPN のtapデバイス機能を使用します。
スピードを重視する場合は、ローカルブリッジ用にLANカード(物理NIC)を追加することが推奨されていますが、tapデバイス(仮想NIC)を使用しても、この問題を回避することが可能ですので、評価を兼ねて試験を行います。

 

tapデバイス使用時の概要

PacketiX VPN 4.00 RC1をLinuxサーバにインストールし、tapデバイスを使用するためには、PacketiX VPNの設定とOSのネットワーク設定の変更が必要となります。

  • PacketiX VPN サーバ管理マネージャで、tapデバイスをローカルブリッジさせる
  • LinuxOS起動時に、物理的なネットワークアダプタ(eth0)を仮想ブリッジにブリッジさせる
  • スタートアップスクリプトを修正し、VPNサーバ起動時に、tapデバイスを仮想ブリッジにブリッジさせる

Linux(CentOS)で、tapデバイスを使用する場合の構成図を以下に示します。

PacketiX tap kouseizu 300x233 PacketiX VPN 4.0 RC1でtap

 

ローカルブリッジ設定の変更

PacketiX VPN サーバ管理マネージャでローカルブリッジをtapデバイスに変更します。

SE VPN Server Manager 01 300x278 PacketiX VPN 4.0 RC1でtap

 

 

 設定済みであるローカルブリッジ設定を削除します。
 ローカルブリッジの削除をクリックします。

SE VPN Server Manager 02 300x278 PacketiX VPN 4.0 RC1でtap

 

 仮想HUBを選択します。

 新しいtapデバイスとのブリッジ接続を選択します。

 新しいtapデバイス名を入力します。

 入力が完了したら、ローカルブリッジを追加をクリックします。

SE VPN Server Manager 03 300x278 PacketiX VPN 4.0 RC1でtap

 

 

 tapデバイスがローカルブリッジされたことを確認して、閉じるをクリックします。

tapデバイスをローカルブリッジに追加すると、仮想ネットワークアダプタとしてにtapデバイスが追加されます。

[root@ms02 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 3C:4A:92:xx:xx:xx
          inet addr:192.168.0.xx  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1
          RX packets:172 errors:0 dropped:0 overruns:0 frame:0
          TX packets:232 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:27627 (26.9 KiB)  TX bytes:32646 (31.8 KiB)
          Interrupt:169 Memory:fe9f0000-fea00000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3700 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3700 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:152712 (149.1 KiB)  TX bytes:152712 (149.1 KiB)

tap_vlan  Link encap:Ethernet  HWaddr 00:AC:EB:74:DB:23
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1
          RX packets:56 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:3188 (3.1 KiB)  TX bytes:3137 (3.0 KiB)

 

ネットワーク設定の変更

Linux(CentOS) 側で、仮想ブリッジ (br0) を追加するために、ネットワーク設定を変更します。

最初に、bridge-utilsパッケージをインストールします。

[root@ms02 ~]# yum –y install bridge-utils

次に、ネットワーク設定スクリプト格納先へ移動して、ネットワーク設定を変更します。
オリジナルのifcfg-eth0はバックアップを作成した後、ifcfg-eth0をブリッジ設定(ifcfg-br0)の雛形としてコピーします。

[root@ms02 ~]# cd /etc/sysconfig/network-scripts/
[root@ms02 network-scripts]# cp ifcfg-eth0 ifcfg-eth0.bak
[root@ms02 network-scripts]# cp ifcfg-eth0 ifcfg-br0

ifcfg-eth0を修正します。
物理的なネットワークアダプタ(eth0)を仮想ブリッジ(br0)にブリッジさせるように変更します。また、eth0 にはipアドレスを割り当てないようにします。

[root@ms02 network-scripts ]# pico ifcfg-eth0
# HP Microserver on Board NIC Broadcom NetXtreme BCM5723
# tapデバイス使用時の設定
# eth0 にはIPアドレスを割り当てせずに br0 にブリッジさせる

DEVICE=eth0
TYPE=Ethernet
HWADDR=3C:4A:92:xx:xx:xx
BOOTPROTO=static

ONBOOT=yes
MTU=1454

# br0 にブリッジさせる
BRIDGE=br0

ifcfg-br0を修正し、ブリッジインターフェイスを構成します。
このとき、IPアドレス等の設定は、br0 に割り当てするようにします。

[root@ms02 network-scripts ]# pico ifcfg-br0
# tapデバイス使用時の設定
# br0 にIPアドレスを割り当てする
# br0を介してeth0とtapデバイスをブリッジさせる

DEVICE=br0
TYPE=Bridge

BOOTPROTO=static
ONBOOT=yes
MTU=1454

IPADDR=192.168.0.xx
BROADCAST=192.168.0.255
NETMASK=255.255.255.0
NETWORK=192.168.0.0

GATEWAY=192.168.0.1

 

スタートアップスクリプトの変更

スタートアップスクリプトファイルを修正して、vpnserverを起動時にtapデバイスを仮想ブリッジへブリッジするように変更します。

[root@ms02 ~]# pico /etc/init.d/vpnserver
#!/bin/sh
# chkconfig: 2345 98 01
# description: PacketiX VPN Server 4.0
 
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
 
test -x $DAEMON || exit 0
 
case "$1" in
start)
$DAEMON start
sleep 5
touch $LOCK
# PacketiXで追加した仮想tapデバイス名を調べる
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
/usr/sbin/brctl addif br0 $tap
;;
 
stop)
$DAEMON stop
sleep 2
rm $LOCK
;;
 
restart)
$DAEMON stop
sleep 2
 
$DAEMON start
sleep 5
# PacketiXで追加した仮想tapデバイス名を調べる
tap=`/sbin/ifconfig -a| awk '$1 ~ /^tap/ {print $1}'`
/usr/sbin/brctl addif br0 $tap
;;
 
status)
    if [ -e $LOCK ]
    then
        echo "vpnserver is running."
    else
        echo "vpnserver is not running."
    fi
;;
*)
 
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit 0

ここで、一旦、再起動させて、起動時のネットワーク設定のメッセージを確認します。

[root@ms02 ~]# reboot

Startup massage 01 300x188 PacketiX VPN 4.0 RC1でtap

 

  起動時、eth0 , br0インタフェースが起動しています。
 ※この時点では、また、tapデバイスは起動していません。

Startup massage 02 300x188 PacketiX VPN 4.0 RC1でtap

 

 最後にvpnserverが起動し、tapデバイスをブリッジします。

 

 

ネットワーク設定の確認

ネットワーク設定を確認します。

[root@ms02 ~]# ifconfig
br0       Link encap:Ethernet  HWaddr 00:AC:EB:74:DB:23
          inet addr:192.168.0.xx  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1
          RX packets:1656 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1304 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:169525 (165.5 KiB)  TX bytes:151971 (148.4 KiB)

eth0      Link encap:Ethernet  HWaddr 3C:4A:92:xx:xx:xx
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1
          RX packets:2604 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2447 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:281987 (275.3 KiB)  TX bytes:240723 (235.0 KiB)
          Interrupt:169 Memory:fe9f0000-fea00000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:97937 errors:0 dropped:0 overruns:0 frame:0
          TX packets:97937 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3966550 (3.7 MiB)  TX bytes:3966550 (3.7 MiB)

tap_vlan  Link encap:Ethernet  HWaddr 00:AC:EB:74:DB:23
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1504 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1908 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:74520 (72.7 KiB)  TX bytes:150487 (146.9 KiB)

eth0とtap_vlanがブリッジされていることを確認します。
※interfacesにeth0とtap_vlanが表示されていればOKです。

[root@ms02 ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.00aceb74db23       no              tap_vlan
                                                        eth0

<注意事項>
networkを再起動させると、tapデバイスのブリッジ設定は、消えてしまいます。
その時は、vpnserverを再起動させることで、tapデバイスのブリッジ設定は復活します。

[root@ms02 ~]# /etc/init.d/network restart
[root@ms02 ~]# /etc/init.d/vpnserver restart

 

VPNサーバへのping動作

VPN接続中のクライアントPCから、PacketiX VPN をインストールしたサーバへpingを打ちます。

PacketiX tap 05 300x159 PacketiX VPN 4.0 RC1でtap

 

 サーバから正しく応答が返ることを確認します。

以上で、「PacketiX VPN 4.0 RC1でtapデバイスを試す」を終了します。

コメント

コメントを受け付けておりません。