[CentOS 7 + SoftEther VPN] レッツノート CF-N9 にローカルブリッジ専用 NIC を追加する方法

USB タイプの NIC をローカルブリッジ用にする

レッツノートに限らず普通のパソコンの場合、イーサネット用の物理ポート (LAN ポート) は 1 つだけ搭載されているものです。MacBook Air のように LAN ポートが 1 つも搭載されていないノートパソコンも珍しくなくなりました。

それですでにオンボードの NIC は 172.16.1.2 という IP を割り振って使っている状況です。僕はローカルブリッジ用の NIC は別物理 NIC にしたいので USB タイプの NIC (以下 USB-NIC) をレッツノートに接続して使うことにしました。

UGREEN というメーカーのこの NIC です。↓

これを使えるようにしていきます。

ローカルブリッジを軽くおさらい

ローカルブリッジとは何か?まず大雑把に理解しましょう。ブリッジという名前がつくことからもわかるように何かと何かをくっつけることを意味します。ローカルブリッジとは、

  • 仮想 HUB と物理的な LAN をつなげる

為のものです。

  1. 仮想 HUB は SoftEther VPN サーバの中核要素でソフト的に存在しているものです。当然僕の場合は、CentOS 上で稼働しているわけです。
  2. 物理的な LAN というのは我が家の LAN (ネットワーク) のことを指しています。仮想 HUB から我が家の LAN に抜けていくための出入り口=ドア、となるのが今回追加する USB タイプの NIC です。

外出先からインターネットを介して自宅のネットワークにアクセスすることをリモートアクセスといいますが、これを実現するために SoftEther VPN サーバを正しく設定することで外出先から仮想 HUB につながります。

これからやる設定によって、仮想 HUB と自宅ネットワークが接続されれば、その結果として外出先から自宅ネットワークまでが接続されることになります。

もともと VPN を使いたい理由が、「外出先から自宅内にあるコンピュータにアクセスしたいから」がほとんどだと思いますが、「外出先から VPN サーバまでの接続」と「VPN サーバと自宅ネットワークの接続」の 2 つが組み合わさっているとも言えます。

  • 外出先から VPN サーバまでの接続:L2TP/IPsec, SSL-VPN, OpenVPN 等 を使う
  • VPN サーバと自宅ネットワークの接続:ローカルブリッジを使う

と分けて考えても良いでしょう。

USB-NIC をどこに挿すかが重要である

これ案外落とし穴になっているかもしれません。

レッツノート CF-N9 には USB ポートが 3 つあります。右サイドに 1 つ、左サイドに 2 つです。で、右サイドの USB ポートに挿しても反応なし・認識せずでしたが、左サイドの USB ポートに挿すと認識しました。

UGREEN 以外に PLANEX 製の USB-NIC も試しましたが同じように右サイドの USB ポートでは認識せず、左側だと認識しました。

こういうの厄介です。

CentOS が USB-NIC を認識したのを確認するコマンド

以下のような感じで CentOS が USB-NIC を認識しているのを確認することができます。

$ cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
$ lsusb
Bus 002 Device 003: ID 0b95:7720 ASIX Electronics Corp. AX88772
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ nmcli d
デバイス     タイプ    状態      接続       
virbr0       bridge    接続済み  virbr0     
enp0s25      ethernet  接続済み  enp0s25    
virbr0-nic   tap       接続済み  virbr0-nic 
wlp10s0      wifi      切断済み  --         
enp0s29u1u2  ethernet  利用不可  --         
lo           loopback  管理無し  --         
$ nmcli connection show
名前        UUID                                  タイプ          デバイス   
virbr0-nic  7c735ad4-a7a0-44be-90de-faa35a61f383  generic         virbr0-nic 
virbr0      6c28f115-6005-464b-8bb0-05283cfd02eb  bridge          virbr0     
enp0s25     f8b3eedd-8b25-4b42-844c-f19170d437b4  802-3-ethernet  enp0s25    
有線接続 1  28ab97cb-901d-4b05-879f-5c6271fa04cc  802-3-ethernet  --         
$ dmesg | grep enp0s29
[  136.083401] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[  136.847222] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
$ sudo grep enp0s29 /var/log/messages
May  3 18:30:32 localhost NetworkManager[761]: <info>  (eth0): interface index 6 renamed iface from 'eth0' to 'enp0s29u1u2'
May  3 18:30:32 localhost NetworkManager[761]: <info>  (enp0s29u1u2): device state change: unmanaged -> unavailable (reason 'managed') [10 20 2]
May  3 18:30:32 localhost kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
May  3 18:30:33 localhost kernel: IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
May  3 18:30:33 localhost NetworkManager[761]: <info>  (enp0s29u1u2): created default wired connection '有線接続 1'
$

以上から CentOS はこの USB-NIC を enp0s29u1u2 というインタフェースと認識したようです。

仮想 HUB 用 NIC の設定

ではこの USB-NIC をローカルブリッジ用に設定していきます。/etc/sysconfig/network-scripts ディレクトリに設定ファイルを 1 つ作成します。

$ cd /etc/sysconfig/network-scripts/
$ ls -l ifcfg-*
-rw-r--r--. 1 root root 326  3月 23  2016 ifcfg-enp0s25
-rw-r--r--. 1 root root 254  9月 16  2015 ifcfg-lo
$ cp ifcfg-enp0s25 ifcfg-enp0s29u1u2
cp: 通常ファイル `ifcfg-enp0s29u1u2' を作成できません: 許可がありません
$ sudo cp ifcfg-enp0s25 ifcfg-enp0s29u1u2
[sudo] password for nobi: 
$ sudo vi ifcfg-enp0s29u1u2

今 172.16.1.2 の IP を割り当てている NIC の設定ファイルをコピーして作りました。以下のような感じです。

$ ls -ltr ifcfg-*
-rw-r--r--. 1 root root 254  9月 16  2015 ifcfg-lo
-rw-r--r--. 1 root root 326  3月 23  2016 ifcfg-enp0s25
-rw-r--r--. 1 root root 281  5月  3 23:20 ifcfg-enp0s29u1u2
$ cat ifcfg-enp0s29u1u2 
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME=enp0s29u1u2
UUID=28ab97cb-901d-4b05-879f-5c6271fa04cc
DEVICE=enp0s29u1u2
ONBOOT=yes
IPADDR=0.0.0.0
PREFIX=32
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
$

sudo systemctl restart network コマンドでネットワークサービスを再起動した後、LAN ケーブルをこの USB-NIC と自宅ネットワークにある物理 HUB と接続してどうなったかを確認します。

$ nmcli d
デバイス     タイプ    状態      接続        
virbr0       bridge    接続済み  virbr0      
enp0s25      ethernet  接続済み  enp0s25     
enp0s29u1u2  ethernet  接続済み  enp0s29u1u2 
virbr0-nic   tap       接続済み  virbr0-nic  
wlp10s0      wifi      切断済み  --          
lo           loopback  管理無し  --          
$ nmcli connection show
名前         UUID                                  タイプ          デバイス    
virbr0-nic   7c735ad4-a7a0-44be-90de-faa35a61f383  generic         virbr0-nic  
virbr0       6c28f115-6005-464b-8bb0-05283cfd02eb  bridge          virbr0      
enp0s25      f8b3eedd-8b25-4b42-844c-f19170d437b4  802-3-ethernet  enp0s25     
enp0s29u1u2  28ab97cb-901d-4b05-879f-5c6271fa04cc  802-3-ethernet  enp0s29u1u2 
$ dmesg | grep enp0s29
[  136.083401] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[  136.847222] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[17543.392279] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[17543.395601] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[17762.357212] asix 2-1.2:1.0 enp0s29u1u2: unregister 'asix' usb-0000:00:1d.0-1.2, ASIX AX88772 USB 2.0 Ethernet
[17763.008758] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[17763.773797] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[17776.438696] asix 2-1.2:1.0 enp0s29u1u2: unregister 'asix' usb-0000:00:1d.0-1.2, ASIX AX88772 USB 2.0 Ethernet
[17777.066521] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[17777.829924] IPv6: ADDRCONF(NETDEV_UP): enp0s29u1u2: link is not ready
[17779.767968] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s29u1u2: link becomes ready
[17779.768822] asix 2-1.2:1.0 enp0s29u1u2: link up, 100Mbps, full-duplex, lpa 0xC1E1
[17788.088742] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s29u1u2: link becomes ready
[17788.090005] asix 2-1.2:1.0 enp0s29u1u2: link up, 100Mbps, full-duplex, lpa 0xC1E1
$ ip addr show enp0s29u1u2
8: enp0s29u1u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0e:c6:c1:4d:e0 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::20e:c6ff:fec1:4de0/64 scope link 
       valid_lft forever preferred_lft forever
$

リンクは 100Mbps の全二重で上がってきました。IP アドレスの設定はなされていませんが、IPv6 はどうなんだろう。動いているんだろうか。定かではないがこれで一旦よしとする。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください