VPNサーバー機(Ubuntu18)への接続方法

SoftEther VPN に関するご質問はこのフォーラムにお気軽にご投稿ください。
Post Reply
k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Tue Aug 06, 2019 4:04 pm

いつもお世話になっております。

Ubuntu18に入れたVPNサーバーに直接通信ができない仕様への対策として、下記を考えました。

1.VPNサーバーにクライアントソフトを入れて、クライアント同士としてサーバーと通信する
2.VPNサーバーソフトをUbuntu18サーバーで稼働するdockerに入れ、Open Virtual Switchを使用してサーバーと通信する

まず、1を試しましたが、仮想NICにIPを振ることができませんでした。
ネット上では下記のコマンドでDHCPによる割り当て可能とありましたが、機能しませんでした。
sudo dhclient 仮想NIC名

また、 下記ファイルでIPアドレスを指定しましたが、これも効果がありませんでした。
/etc/netplan/01-network-manager-all.yaml
ethernets:
vpn_vpnnic:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 192.168.1.1

2なら恐らく可能とは思いますが、かなり時間を使いそうな予感がしています。
他を中継したSSH等ではなく、サーバーのIPに直接アクセス可能な方法で何か良い方法、
あるいはUbuntu18で仮想NICに固定IPを振る方法があれば教えてください。
(最も簡単なのはNIC二枚刺しというのは知っていますが、省電力化のため避けたいです)

よろしくお願いいたします。

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Tue Aug 06, 2019 7:18 pm

クライアントの仮想NICへのIP割り当ては ipconfigで行けました。

下記を試しましたが、サーバーへ直接接続は出来ませんでした。
・softether クライアントの仮想NICへの接続
・仮想ブリッジ+tapへのIP割り当て+接続

何か情報あればよろしくお願いいたします。

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Wed Aug 07, 2019 2:57 am

現在の状況です。
192.168.1.1: ルータ
192.168.1.20: VPN接続した遠隔クライアント
192.168.1.100: VPN server 仮想ブリッジ(物理NICと接続)
192.168.1.101: tapデバイス(仮想ブリッジと接続、Softetherと接続)
192.168.1.103: VPN Server上の仮想クライアント
192.168.1.200: 別なサーバ

192.168.1.20から100、101、103へping:通らない
192.168.1.20から192.168.1.200へssh:OK
ssh後、100、101、103へping:通る

仮想NAT、仮想DHCPは未使用です。
(これらをつけるとゲートウェイをルータに設定してもインターネットにつながらないため)
よろしくお願いいたします。

cedar
Site Admin
Posts: 1199
Joined: Sat Mar 09, 2013 5:37 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by cedar » Wed Aug 07, 2019 9:15 am

> 192.168.1.101: tapデバイス(仮想ブリッジと接続、Softetherと接続)
> 192.168.1.103: VPN Server上の仮想クライアント

これはどちらも仮想 HUB 内と通信ができるはずです。
iptables などでICMPをドロップしていないでしょうか。

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Wed Aug 07, 2019 12:16 pm

返信ありがとうございます。

同一LAN内だとPingが通るので、
クライアントPCの設定ではないと考えています。

同じPCを使用して下記の結果でした。
職場、テザリング+Vpn:サーバーに通らない(VPNは問題なし)
同一ルーター下(PC)、VPNなし:サーバー全て通る

何か調べるべき点ありましたらご協力いただけると幸いです。
よろしくお願いいたします。

cedar
Site Admin
Posts: 1199
Joined: Sat Mar 09, 2013 5:37 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by cedar » Wed Aug 07, 2019 12:55 pm

クライアントではなくサーバー側でフィルタリングされていないでしょうか?
LAN内のホストからはpingできますか?

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Wed Aug 07, 2019 10:38 pm

返信ありがとうございます。ping可能です。

下記構成に変更することで、サーバーに接続できるようになりました。

192.168.1.1: ルータ
192.168.1.20: VPN接続した遠隔クライアント
192.168.1.100: VPN server 仮想ブリッジ
192.168.1.101: tapデバイス
192.168.1.102: vlan
・仮想ブリッジの接続先を物理NIC
・tapデバイスの接続先を物理NIC
・vlanの接続先を仮想ブリッジ

この構成でVPN接続することで、vlanを経由してサーバーに接続できるようになりました。
tapデバイスを仮想ブリッジに接続、あるいは仮想ブリッジをtapデバイスと物理両方に接続すると問題が発生します。

ありがとうございました!

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Thu Aug 08, 2019 1:03 am

つながったと思いましたが、外から繋ぐと変化なしでした。
難しいですね……。

cedar
Site Admin
Posts: 1199
Joined: Sat Mar 09, 2013 5:37 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by cedar » Thu Aug 08, 2019 10:16 am

DHCPでIPアドレスを取得できないというのも、ちょっと怪しい気がします。
仮想HUBとtapデバイスの接続の方に問題があるかもしれません。
tapデバイスでtcpdumpなどして、仮想 HUB 内のパケットが見えるでしょうか?

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Fri Aug 09, 2019 3:51 am

ご返信ありがとうございます。
>tapデバイスでtcpdump
「tcpdump -i デバイス名」だと全く流れていません。
「tcpdump host ip」だとVPN接続時は大量に流れています。
いかがいたしましょうか。

現在の構成です。
192.168.1.1: ルータ
192.168.1.100: VPN server 仮想ブリッジ→物理NICへ接続
192.168.1.101: tapデバイス→仮想ブリッジへ接続
192.168.1.102: vlan→仮想ブリッジへ接続
192.168.0.103: softether クライアント→仮想ブリッジへ接続

NICを追加すると、VPN通信時であっても仮想ブリッジやtapデバイス、
softether クライアント共に問題なくつながります。
また、VPN接続には二重NAT回避のためvpnazureを使用しています。

可能であればNICを一本にしたいと考えています。ご協力いただけると幸いです。

cedar
Site Admin
Posts: 1199
Joined: Sat Mar 09, 2013 5:37 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by cedar » Fri Aug 09, 2019 10:13 am

Linux では、特に制限していない限り、自分のIPアドレス宛のパケットは、そのIPアドレスが割り当てられているデバイス以外からでも取り込むようです。
デバイス名を指定してパケットが届いていないようであれば、機能していない可能性が考えられます。
ifconfig で表示される受信パケット数などは伸びているでしょうか。

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Sat Aug 10, 2019 3:42 am

返信ありがとうございます。
ifonfigで確認しましたが、tapデバイスのパケット量はほぼ動いてないです。
RX packets 0 bytes 0 (0.0 B)
TX packets 285 bytes 84464 (84.4 KB)

また、NIC二枚刺しにするとVPN接続時に仮想ブリッジや仮想NIC経由でサーバーへssh接続可能ですが、
tapデバイスのみssh接続できません(VPN接続時以外はtapデバイスにssh可能)。

対策あればご教授ください。

cedar
Site Admin
Posts: 1199
Joined: Sat Mar 09, 2013 5:37 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by cedar » Sat Aug 10, 2019 3:53 am

vpnserverのプロセスがroot権限で動作しているか確認してみてください。

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Sat Aug 10, 2019 4:59 am

返信ありがとうございます。

#ps -ef | grep vpn
root 2203 1 0 08:28 ? 00:00:00 /usr/local/vpnserver/vpnserver execsvc
root 2205 2203 0 08:28 ? 00:01:38 /usr/local/vpnserver/vpnserver execsvc
root 3055 1 0 08:28 ? 00:00:00 /usr/local/vpnclient/vpnclient execsvc
root 3059 3055 0 08:28 ? 00:00:46 /usr/local/vpnclient/vpnclient execsvc

server、クライアント共にroot権限のように見えます。
何かありましたらご教授ください。

cedar
Site Admin
Posts: 1199
Joined: Sat Mar 09, 2013 5:37 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by cedar » Sat Aug 10, 2019 5:40 am

tapデバイスはローカルブリッジ機能かVPN Clientの仮想LANカードとして作成されているでしょうか?

k-trader
Posts: 19
Joined: Fri May 10, 2019 9:44 am

Re: VPNサーバー機(Ubuntu18)への接続方法

Post by k-trader » Sat Aug 10, 2019 7:35 am

その通りです。softetherの機能から作成しました。IPに関しては固定にするため、netplanで指定しています。

Code: Select all

network:
    version: 2
    ethernets:
        enp3s0:
            dhcp4: false
    vlans:
        tap_server:
            id: 1
            dhcp4: false
            addresses:
                - 192.168.1.101/24
            link: br0
        vpn_client:
            id: 2
            dhcp4: false
            addresses:
                - 192.168.1.102/24
            link: br0
    bridges:
        br0:
            interfaces: enp3s0
            dhcp4: false
            addresses: 192.168.1.100/24
            gateway4: 192.168.1.1
            nameservers:
                addresses: 192.168.1.1
よろしくお願いいたします。

Post Reply