
Я новичок в сетевых технологиях. Я настроил сервер OpenVPN в своей домашней сети, чтобы можно было сначала подключиться к домашней сети через публичный Wi-Fi, а затем использовать Интернет с некоторой степенью безопасности. Я следовал этому руководству, чтобы настроить его: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. Когда я иду к другу домой или в другое общественное место, маршрутизатор которого также использует 10.0.1.0/24
диапазон IPv4, я могу подключиться к своей домашней сети, но не могу получить доступ ни к чему там. Причина очевидна: локальная сеть, в которой я нахожусь, использует тот же диапазон и шлюз по умолчанию, что и моя домашняя настройка.
Я мог бы изменить свой сетевой диапазон, но тогда я бы сталкивался с похожей проблемой каждый раз, когда чей-то локальный сетевой диапазон IPv4 был бы таким же.
Мой вопрос: какая настройка мне нужна, чтобы избежать этой проблемы? Это причина использовать настройку TAP вместо TUN? Я больше ищу место, чтобы начать. Вот моя конфигурация сервера:
/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 не следует использовать в домашних сетях в качестве "Carrier Grade NAT". Поскольку вы инкапсулируете конечные точки, вам, вероятно, удастся нарушить правила!
При указании диапазона вам, вероятно, захочется указать наименьший возможный диапазон — подсеть /30 (т. е. 4 IP-адреса в середине диапазона) с гораздо меньшей вероятностью будет мешать работе определенных машин за NAT и на практике должна работать хорошо, поскольку это очень специфичный маршрут.
Конечно, другим решением было бы перевести ваш туннель на IPV6.