Ubuntu как роутер; перенаправить трафик с 1 клиента (LAN) на VPN

У меня есть маршрутизатор Ubuntu 14.04.03 (iptables). За ним находится локальная сеть с ноутбуками, планшетами, смарт-телевизорами и т. Д.

Я хотел бы использовать VPN на своем телевизоре, но в программном обеспечении / прошивке телевизора такой опции нет. Поэтому я подумал, что возможно установить VPN-соединение на моем маршрутизаторе Ubuntu и перенаправить весь трафик с телевизора на это VPN-соединение. ТОЛЬКО ОТ ТЕЛЕВИДЕНИЯ. Трафик с других устройств, а также трафик с самой Ubuntu должны использовать исходное соединение.

Возможно ли это сделать?

Мой VPN-провайдер - NordVPN. Они предлагают PPTP, L2TP, OpenVPN TCP, OpenVPN UDP и SOCKS5. Они предоставляют инструкции по настройке VPN на Ubuntu по адресу https://nordvpn.com/tutorials/linux/linux-openvpn/, но это не покрывает то, что мне нужно;).

1 ответ

Я искал точно такую ​​же настройку. Я понимаю, что это поздний ответ, но, возможно, кто-то еще может извлечь из этого пользу.

Примечание: мое VPN-соединение имеет тип PPP и отображается как интерфейс ppp0 под ifconfig,

Телевизор: настройте сетевые параметры телевизора на использование IP-адреса вашего устройства в качестве шлюза по умолчанию.

Ubuntu: Настройте переадресацию IP и NAT следующим образом:

sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT

Я нашел следующие две статьи полезными:

Из небольшого прочтения, которое я сделал, я считаю, что приведенные выше команды выполняют следующее:

  • Включить IP-пересылку в ядре
  • Дайте сетевому стеку команду переписать адрес отправителя (маскарад) на свой собственный для пакетов, отправляемых через ppp0 интерфейс, добавив правило, которое устанавливает цель цепочки POSTROUTING таблицы NAT в MASQUERADE.
  • Разрешить пакеты от eth0 проложить через ppp0 для определенных состояний соединения путем установки целевого значения цепочки FORWARD таблицы (по умолчанию) FILTER в значение ПРИНЯТЬ.
  • Разрешить пакеты ответов во всех штатах.
Другие вопросы по тегам