Настройка переадресации клиента Tomato OpenVPN

Настройка переадресации клиента Tomato OpenVPN

Я использую VPN исключительно для получения выделенного/статического IP (потому что моя домашняя сеть имеет динамический IP из-за кабеля). Мне не важно скрывать свою личность и т. д. Я настроил VPN на своем маршрутизаторе с прошивкой Tomato, используя OpenVPN Client.

Я хочу, чтобы когда трафик попадает на IP VPN и попадает на мой маршрутизатор, в зависимости от IP, с которого пришел трафик, он перенаправлялся на определенное устройство в моей домашней сети. Каждому устройству в моей сети назначен статический IP, и в прошлом я использовал другой VPN, который использовал PPTP, и это просто работало, например, обычные правила переадресации портов Tomato работали отлично, и в зависимости от того, откуда пришел трафик, он автоматически направлялся на нужное устройство, подключенное к моему маршрутизатору.

Однако теперь, когда я использую VPN, который использует OpenVPN вместо PPTP, похоже, правила переадресации портов в Tomato больше не работают? Я не могу понять, как направить трафик на правильное устройство в моей домашней сети на основе номера порта и IP, с которого был отправлен запрос. Я заметил вкладку «Политика маршрутизации» на странице настройки клиента OpenVPN в Tomato, но для меня это бессмысленно.

Нужно ли мне добавить какой-то скрипт где-то в Tomato? Какие-то правила iptables или что-то еще? Кажется странным, что я не могу просто использовать страницу конфигурации переадресации портов в Tomato. Или мне просто нужно включить/отключить некоторые параметры на странице конфигурации клиента OpenVPN? Я не в своей тарелке, любой совет будет оценен по достоинству

решение1

Я думаю, что мойвопрос на Redditможет вам помочь.

Я продублирую это здесь:

Итак, после просмотра сассоциация, предоставляющая VPN, мы пришли к следующему решению.

  • 192.168.1.1это IP-адрес маршрутизатора по умолчанию, который можно изменить вhttp://192.168.1.1/basic-network.asp.
  • YYY.YYY.YYY.YYY— это IP-адрес VPN-туннеля.

  1. Чтобы сохранить пользовательский скрипт, который будет запускаться при запуске VPN, включите JFFS в браузереhttp://192.168.1.1/admin-jffs2.asp. Сохраните настройки, и некоторые службы будут перезапущены (/jffs/ будет смонтирован).

  2. Telnet на вашем маршрутизаторе:

    telnet 192.168.1.1
    
  3. Введите логин rootи пароль, которые вы обычно используете для доступа к Tomato.

  4. Создайте и отредактируйте скрипт в /jffs/:

    vi /jffs/vpnup.sh
    
  5. Добавьте в скрипт следующее:

    #!/bin/sh
    
    # Script to be run when the VPN is brought up
    
    # Use the VPN to route all packets through the tunnel.
    iptables -t nat -A PREROUTING -s 0.0.0.0/0 -d YYY.YYY.YYY.YYY -j WANPREROUTING
    
    # Apply the port forwarding rules to the tunnel.
    iptables -I FORWARD 1 -i tun11 -s 0.0.0.0/0 -d 0.0.0.0/0 -m state --state NEW -j wanin
    
  6. Сохраните и выйдите из vi, введя Esc, :, w, q, затем Enter.

  7. Сделайте скрипт доступным для чтения и выполнения только пользователю root:

    chmod 700 /jffs/vpnup.sh
    
  8. Выйдите из сеанса telnet:

    exit
    
  9. Добавьте следующую строку в элемент управления формы «Пользовательская конфигурация»http://192.168.1.1/vpn-client.asp, на вкладке «Дополнительно»:

    up /jffs/vpnup.sh
    
  10. Сохраните настройки.

  11. (Пере)запустите VPN.

Теперь при каждом запуске VPN необходимо обновлять iptables для маршрутизации всего трафика через VPN и применять правила переадресации портов к его туннелю.

Некоторые полезные команды для отладки:

  • ip addr show(наМаршрутизатор)
  • ip route show(наМаршрутизатор)
  • iptables -nvL(наМаршрутизатор)
  • iptables -t nat -nvL(наМаршрутизатор)
  • tcpdump -ni any port 80(наСервер)

Надеюсь, это поможет или поможет.

Связанный контент