
ネットワーク初心者です。まず公共の Wi-Fi を使用して自宅のネットワークに接続し、ある程度のセキュリティを確保しながらインターネットを使用できるように、自宅のネットワークに OpenVPN サーバーを設定しました。設定には次のチュートリアルに従いました。https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14-04私の知る限り、これは非常にシンプルなトンネリングタイプの OpenVPN 設定です。正常に動作しているときは、この OpenVPN サーバーを介してインターネットにアクセスしたり、自宅のネットワーク内のサーバーに接続したりできます。
しかし、問題に気づきました。私の自宅の IPv4 ネットワーク範囲は で10.0.1.0/24
、これは Mac AirPort Extreme ルーターに付属しているデフォルトです。友人の家や、ルーターが IPv410.0.1.0/24
範囲を使用している他の公共の場所に行くと、自宅のネットワークに接続できますが、そこにあるものにはアクセスできません。理由は明らかです。私が接続しているローカル ネットワークは、自宅の設定と同じ範囲とデフォルト ゲートウェイを使用しているからです。
ネットワーク範囲を変更することもできますが、その場合、誰かのローカル IPv4 ネットワーク範囲が同じであるたびに、同様の問題が発生します。
私の質問は、この問題を回避するにはどのような設定が必要かということです。これが、TUN ではなく TAP 設定を使用する理由でしょうか。私はむしろ、開始するための場所を探しています。これが私のサーバー構成です。
/etc/openvpn/server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
dh dh2048.pem
server 10.8.0.0 255.255.255.0 # IP range for connecting users
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 10.0.1.13" # My local DNS server
push "dhcp-option DNS 10.0.1.1" # My home router DNS
push "dhcp-option DNS 8.8.8.8" # Google public DNS
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
**** 編集 1 ****
以下のリソースを見つけました:
https://openvpn.net/index.php/open-source/documentation/howto.html#番号付け
https://serverfault.com/questions/21399/how-do-you-avoid-network-conflict-with-vpn-internal-networks
あまり使用されていないプライベート IPv4 サブネットを選択する以外に、この問題を回避する方法は本当にないのでしょうか?
答え1
@Ecnerwal が言ったように、問題を回避することはできません。軽減することしかできませんが、衝突の可能性を大幅に小さくするトリックがいくつかあります。
172.31.xx を使用することもできます (172.16-32.xx は 192.168.xx や 10.xxx と同じように予約されているため、ほとんど使用されないということに気付いている人はほとんどいないようです)。または、標準を少し破りたい場合は、100.64.0.x を
使用します。100.64.0.x は「キャリア グレード NAT」であるため、ホーム ネットワークでは使用しないでください。エンドポイントをカプセル化しているので、おそらくルールを破っても問題ありません。
範囲を指定するときは、おそらく可能な限り小さい範囲を指定することになります。/30 サブネット (つまり、範囲の中央にある 4 つの IP アドレス) は、NAT の背後にある特定のマシンに干渉する可能性が非常に低く、非常に特殊なルートであるため、実際には問題なく動作するはずです。
もちろん、別の解決策としては、トンネルを IPV6 に移行することです。