Проблема с мостом OpenVpn - Сервер за NAT - Клиент может пропинговать сервер, GW по умолчанию, но больше ничего
Я пытаюсь настроить OpenVPN в мостовом режиме на Ubuntu Server 12.04. Это вообще работает; Я могу подключиться, я получаю IP и могу пропинговать сервер OpenVPN и GW по умолчанию, но я не могу пропинговать что-либо еще в локальной сети сервера.
Ранее я успешно настроил туннелирование с помощью адаптера TUN, и после добавления некоторых записей iptables все заработало. Я мог бы также связаться с другими серверами. Но по разным причинам мне нужен TAP.
Сервер OpenVPN является автономной машиной за NAT(маршрутизатором), поэтому он не является GW по умолчанию в то же время. Имеет IP 192.168.1.108.
Как только я соединяюсь с клиентом, я получаю IP-адрес из указанного диапазона, например, 192.168.1.50, и пытаюсь пропинговать, например, 192.168.1.141, который является другим сервером в этой локальной сети, он говорит, что хост недоступен. Смущает то, что я МОГУ проверять сам сервер OpenVPN на 192.168.1.108 и GW 192.168.1.1.
При беге
tcpdump -nnel -i ethX icmp
На сервере при пинге с клиента нет активности.
Просто чтобы упомянуть, при подключении к VPN я могу просматривать Интернет. При попытке связаться с подключенным клиентом 192.168.1.50 с другого сервера, они также не видят его. Только сервер OpenVPN может пинговать клиентов.
Поскольку это настройка моста, я предполагаю, что это не имеет ничего общего с маршрутизацией, iptables или Masquerading. В любом случае я пытался ввести обычные команды, такие как
iptables -A INPUT -i tap0 -j ACCEPT
iptables -A INPUT -i br0 -j ACCEPT
iptables -A FORWARD -i br0 -j ACCEPT
ИЛИ ЖЕ
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
с изменением eth1 на br0 и tap0, но без эффекта. На самом деле этот iptables и часть маршрута мне сложно понять.
В мостовом режиме мне нужно иметь активную маршрутизацию или iptables для доступа ко всем моим серверам? Нужно ли вручную добавлять что-то вроде route add default gw 192.168.1.1 dev br0 или что-то в этом роде для объявления определенного маршрута?
Как указать моей локальной сети, где "видеть" VPN-клиентов?
Я уверен, что проблема в том, что сервер openvpn не является GW, но я не могу установить openvpn на мой взломанный маршрутизатор dd-wrt, он не поддерживается для моей модели. Как я могу настроить сервер openvpn для решения этой проблемы?
1 ответ
Хорошо, узнал сам...
При попытке пропинговать все возможные IP-адреса в моей локальной сети при подключении к VPN я обнаружил, что IP-адреса, к которым я не могу получить доступ, относятся только к виртуальным серверам (VirtualBox).
А потом я дал себе маску на лицо... Я забыл настроить мостовые сетевые карты в VirtualBox для виртуальных серверов на br0 вместо eth1, как это было раньше.
Просто для удобства я также включил Promiscuous Mode, потому что я читал во многих потоках, что Promisucous ОБЯЗАН в отношении мостовой установки.
Теперь я могу пинговать все.
Каждый день я узнаю что-то новое:)