Как настроить клиентский маршрутизатор OpenVPN

Я пытаюсь настроить маршрутизатор OpenVPN, чтобы я мог подключить свой планшет (беспроводной) и Blu-Ray (проводной) к платной службе VPN в другой стране на Ubuntu 12.10. Я успешно сделал это, используя DD-WRT (слишком медленно) и виртуальный экземпляр PFSense (слишком ограничен).

Я новичок в Linux, но я на 90% завершен с этим проектом. Аппаратное обеспечение - это два проводных порта Ethernet, один из которых подключен к традиционному домашнему маршрутизатору, и беспроводная карта.

Пока у меня есть ..

  1. Настройка беспроводного соединения для работы в качестве истинной главной точки доступа с помощью hostapd
  2. Создание моста (по-моему) между беспроводной и локальной сетью
  3. Настройка DHCP-сервера который успешно назначает адреса мосту - и беспроводные, и проводные получают их.
  4. Настройте OpenVPN, чтобы он успешно создавал туннельное соединение при загрузке.

Текущее поведение маршрутизирует весь трафик с моего компьютера с Ubuntu на сервер VPN. Другие устройства НЕ имеют никакой связи, и это проблема.

Мой вопрос / цель:

Как настроить маршрутизацию так, чтобы OpenVPN направлял трафик только от моего моста (устройства под 192.168.10.x) через VPN-туннель и НЕ трафик с фактического компьютера Ubuntu?

OpenVPN устанавливает некоторые маршруты автоматически, но, похоже, игнорирует установленный мостик.

Я прочитал много документации по iptables и route, но это мало что значит для меня. Несмотря на многочисленные уроки, я все еще не понимаю, как прочитать результаты команды route. Я также подозреваю, что это может быть достигнуто с помощью route-noexec и route-up в файле конфигурации OpenVPN, но ничего не получилось.

Мои знания о том, где находятся файлы конфигурации и настройки, ограничены. Вышеперечисленные задачи заняли у меня не менее 30 часов работы, поэтому, пожалуйста, будьте спокойны:)

Спасибо!

Редактировать

Я ниже опубликовано решение, которое направляет трафик моста, но не мешает трафику на компьютере Ubuntu проходить через VPN.

13
задан 7 June 2013 в 21:26

2 ответа

Проще настроить сам маршрутизатор для подключения к VPN-серверу, чтобы все устройства в вашей сети проходили через него. Это можно сделать с помощью веб-интерфейса программного обеспечения маршрутизатора.

Для того чтобы устройства, подключенные к вашему ПК, имели доступ к Интернету, вы должны сделать общий доступ к Интернету с этого компьютера другим.

0
ответ дан 7 June 2013 в 21:26

Я не уверен, что это идеально, но по крайней мере это работает. В идеальном мире трафик на компьютере Ubuntu не будет проходить через VPN - только те устройства, которые подключены к компьютеру Ubuntu. В любом случае, вот решение.

В файле openvpn.conf

script-security 2
up "/path/to/external/script.sh"

В файле /path/to/external/script.sh

iptables -A FORWARD -o tun0 -i br0 -s 192.168.10.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

В приведенном выше примере tun0 - это туннель, созданный OpenVPN, br0 это мост между моей локальной беспроводной и локальной сетью, а 192.168.10.0/24 это пул подсети / DHCP для моей локальной сети.

Я понятия не имею, что делает этот сценарий, но я собрал его вместе с нескольких сайтов в Internet Connection Sharing.

Я оставлю этот ответ без проверки, если кто-то захочет предоставить лучший ответ или объяснить, как предотвратить прохождение трафика на компьютере Ubuntu через VPN.

0
ответ дан 7 June 2013 в 21:26

Другие вопросы по тегам:

Похожие вопросы: