クライアントへのIPアドレス割当の仕組みと同時接続数について

1,232 views
Skip to first unread message

piyosuke

unread,
Dec 8, 2020, 8:36:56 PM12/8/20
to OpenVPN Japan Users Group
みなさま、はじめまして。

OpenVPNについてはこれまで1ユーザーとして利用しているだけでしたが、
仕組み等詳しく知りたく参加いたしました。

これからよろしくお願いいたします。

早速ではありますが、表題件についてご教示いただけないでしょうか。
事前に調べてみたところ、
・OpenVPNは割当用IPアドレス4つを1つのサブネット(/30)としてみなしており、
  1つ目:NWアドレス
  2つ目:クライアント側(サーバとの受け口)
  3つ目:サーバ側(クライアントとの受け口)
  4つ目:ブロードキャストアドレス
 として利用している。
といった記載がございましたが、割当についてより詳しい仕組みを教えていただけないでしょうか。

また、上記理論ですと割当用IPアドレスを「/24」で利用している場合、最大同時接続数は63ユーザー
となるのでしょうか?
同時接続数については、
 ・理論上、割当用IPアドレスの数だけ接続可能
 ・ただし各接続をさばけるかどうかは、サーバー側のスペックに依存
と認識しておりましたのでやや混乱しております。

どうぞよろしくお願いいたします。

Taro Yamazaki

unread,
Dec 8, 2020, 9:20:48 PM12/8/20
to openvpn-japa...@googlegroups.com

こんにちは、やまざきです。

TUNデバイスを使用している場合に、OpenVPNがアドレスを割り当てる場合の仕組み、ということでよろしいでしょうか?
結論からすると、ご理解のとおりです。

https://www.openvpn.jp/document/how-to/#DHCP

にも説明されていますが、Windows用NICドライバとの互換性のため、使用できるアドレスは/30サブネットで割り当てる必要があります。
具体的には、下記の最終オクテットの組み合わせ(サーバーアドレスとクライアントアドレス)で割り当てられます。

[ 1, 2][ 5, 6][ 9, 10][ 13, 14][ 17, 18][ 21, 22][ 25, 26][ 29, 30]
[ 33, 34][ 37, 38][ 41, 42][ 45, 46][ 49, 50][ 53, 54][ 57, 58][ 61, 62]
[ 65, 66][ 69, 70][ 73, 74][ 77, 78][ 81, 82][ 85, 86][ 89, 90][ 93, 94]
[ 97, 98][101,102][105,106][109,110][113,114][117,118][121,122][125,126]
[129,130][133,134][137,138][141,142][145,146][149,150][153,154][157,158]
[161,162][165,166][169,170][173,174][177,178][181,182][185,186][189,190]
[193,194][197,198][201,202][205,206][209,210][213,214][217,218][221,222]
[225,226][229,230][233,234][237,238][241,242][245,246][249,250][253,254]

従って、/24で使用できるアドレスは計64セットまでとなります。

なお、こちらはOpenVPNではなくWindowsの制約によるものですので、Windows以外のクライアントであれば連続したアドレスに割り当てることも可能です。その場合はifconfig-poolオプションを使用します。

=====
–ifconfig-pool start-IP end-IP [netmask]
Set aside a pool of subnets to be dynamically allocated to connecting clients, similar to a DHCP server. For tun-style tunnels, each client will be given a /30 subnet (for interoperability with Windows clients). For tap-style tunnels, individual addresses will be allocated, and the optional netmask parameter will also be pushed to clients.
=====
> --
> このメールは Google グループのグループ「OpenVPN Japan Users Group」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには openvpn-japan-user...@googlegroups.com <mailto:openvpn-japan-user...@googlegroups.com> にメールを送信してください。
> このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openvpn-japan-users-group/31c68b89-0852-4229-9061-7e30bb199d0bn%40googlegroups.com <https://groups.google.com/d/msgid/openvpn-japan-users-group/31c68b89-0852-4229-9061-7e30bb199d0bn%40googlegroups.com?utm_medium=email&utm_source=footer> にアクセスしてください。

piyosuke

unread,
Dec 8, 2020, 9:50:38 PM12/8/20
to OpenVPN Japan Users Group

やまざきさま

早速のご確認ありがとうございます。

> TUNデバイスを使用している場合に、~

TUN = L3、TAP = L2 程度の認識なのですが、一般的なOpenVPN機能を想定しておりましたので、認識違いありません。

URLの連携ありがとうございます。
/30区切りの動きは、OpenVPNではなくWindowsクライアント側での仕様だったのですね・・・
連携いただいたページもよく目を通してみるようにします。

ちなみになのですが、windowsクライアントからOpenVPNサーバーに接続した際に、
・サーバー側のconfファイルに特に記述がない場合、リンク先表の規則に従ってIPが払い出される
・サーバー側のconfファイルに払い出すIPアドレスを明記している場合、指定したものが払い出される
といった理解なのですが、
・サーバー側のconfファイルに払い出すIPアドレスを明記している(変な組み合わせ、[107,108]とか)の場合
はどういった動きとなるのでしょうか?
(接続不可となるだけのような気もしますが、前後のIPから適当なサブネットが作られたりするのでしょうか?)

2020年12月9日水曜日 11:20:48 UTC+9 ta...@plum-systems.co.jp:

Taro Yamazaki

unread,
Dec 10, 2020, 12:29:33 AM12/10/20
to openvpn-japa...@googlegroups.com

こんにちは、やまざきです。

> ・サーバー側のconfファイルに払い出すIPアドレスを明記している(変な組み合わせ、[107,108]とか)の場合
> はどういった動きとなるのでしょうか?

ちょっと実際に試したことはないのですが、ソースコードには「255.255.255.252のサブネットから外れている」という趣旨のエラーメッセージも定義されているので、このエラーが表示される可能性があります。
いずれにしても、接続不可という結果には変わらないはずです。


On 2020/12/09 11:50, piyosuke wrote:
>
> やまざきさま
>
> 早速のご確認ありがとうございます。
>
> > TUNデバイスを使用している場合に、~
>
> TUN = L3、TAP = L2 程度の認識なのですが、一般的なOpenVPN機能を想定しておりましたので、認識違いありません。
>
> URLの連携ありがとうございます。
> /30区切りの動きは、OpenVPNではなくWindowsクライアント側での仕様だったのですね・・・
> 連携いただいたページもよく目を通してみるようにします。
>
> ちなみになのですが、windowsクライアントからOpenVPNサーバーに接続した際に、
> ・サーバー側のconfファイルに特に記述がない場合、リンク先表の規則に従ってIPが払い出される
> ・サーバー側のconfファイルに払い出すIPアドレスを明記している場合、指定したものが払い出される
> といった理解なのですが、
> ・サーバー側のconfファイルに払い出すIPアドレスを明記している(変な組み合わせ、[107,108]とか)の場合
> はどういった動きとなるのでしょうか?
> (接続不可となるだけのような気もしますが、前後のIPから適当なサブネットが作られたりするのでしょうか?)
>
> 2020年12月9日水曜日 11:20:48 UTC+9 ta...@plum-systems.co.jp:
>
>
> こんにちは、やまざきです。
>
> TUNデバイスを使用している場合に、OpenVPNがアドレスを割り当てる場合の仕組み、ということでよろしいでしょうか?
> 結論からすると、ご理解のとおりです。
>
> https://www.openvpn.jp/document/how-to/#DHCP <https://www.openvpn.jp/document/how-to/#DHCP>
> > このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openvpn-japan-users-group/31c68b89-0852-4229-9061-7e30bb199d0bn%40googlegroups.com <https://groups.google.com/d/msgid/openvpn-japan-users-group/31c68b89-0852-4229-9061-7e30bb199d0bn%40googlegroups.com> <https://groups.google.com/d/msgid/openvpn-japan-users-group/31c68b89-0852-4229-9061-7e30bb199d0bn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openvpn-japan-users-group/31c68b89-0852-4229-9061-7e30bb199d0bn%40googlegroups.com?utm_medium=email&utm_source=footer>> にアクセスしてください。
>
> --
> このメールは Google グループのグループ「OpenVPN Japan Users Group」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには openvpn-japan-user...@googlegroups.com <mailto:openvpn-japan-user...@googlegroups.com> にメールを送信してください。
> このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openvpn-japan-users-group/c2c84f97-e7b6-4be8-81c9-0e94df6e8107n%40googlegroups.com <https://groups.google.com/d/msgid/openvpn-japan-users-group/c2c84f97-e7b6-4be8-81c9-0e94df6e8107n%40googlegroups.com?utm_medium=email&utm_source=footer> にアクセスしてください。
Reply all
Reply to author
Forward
0 new messages