1
  1. У меня один Linux-компьютер с двумя сетевыми картами (eth0 и eth1).
  2. Один маршрутизатор ISP подключен к Интернету. (IP 192.168.1.1)
  3. Одиночный рок3. (жестко закодированный неизменяемый DNS)
  4. Одна учетная запись vpn (tun0) со всем программным обеспечением vpn, работающим на компьютере с Linux.

ПК с Linux подключен через eth0 (статический IP 192.168.1.4) к маршрутизатору isp, который предоставляет доступ к Интернету. Я хотел бы подключить roku3 напрямую ко второму неиспользуемому nic (eth1) на ПК с Linux и заставить Linux переправлять весь трафик с roku3 на vpn (tun0) на компьютере с Linux. ISP-маршрутизатор является единственным шлюзом в Интернет.

Как бы я создал отдельную подсеть для каждого ник? Я хотел бы отправлять весь трафик, который поступает из roku3 в eth1, в vpn (tun0), и весь другой трафик, исходящий с компьютера Linux, регулярного просмотра веб-страниц и т.д., В eth0.

заранее спасибо

2 ответа2

1

Это на самом деле довольно легко.

  1. Настройте службу DHCP на eth1. Это нужно вам, потому что roku хочет иметь собственный IP-адрес. Для этого выберите подсеть, которая отличается от той, которую вы уже используете, 192.168.1.0/24 . Подойдет любой закрытый диапазон, например, 192.168.2.0/24 . Вы можете найти всевозможные инструкции о том, как сделать это, прибегая к помощи.

  2. Активировать пересылку IPv4,

    echo 1 > /proc/sys/net/ipv4/ip_forward
    
  3. И MASQUERADE в нетфильтре,

    iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
    

Вот и все.

1

На самом деле я нашел простой способ просто использовать сетевой мост, чтобы разделить интернет-соединение eth0 с eth1. Поскольку у меня уже есть учетная запись у провайдера vpn (IPVanish, у них сеть уровня 1), все, что мне нужно было сделать, это выяснить, как разделить Интернет между двумя сетевыми сетями.

Шаги ниже, чтобы разделить интернет-соединение и создать сетевой мост между двумя сетевыми сетями, а затем подключиться к провайдеру vpn. Вам нужны две сетевые карты на одном компьютере, файл server.ovpn и имя пользователя и пароль вашего провайдера vpn для соединения vpn.

Создайте мост.

brctl addbr br0

Отключите оба интерфейса, так как вы не можете иметь IP-адрес в сети.

ifconfig eth0 0.0.0.0 down
ifconfig eth1 0.0.0.0 down

Добавьте картинки на мост.

brctl addif br0 eth0
brctl addif br0 eth1

Поднимите номер телефона без IP-адреса.

ifconfig eth0 up
ifconfig eth1 up

Подними мост

ifconfig br0 up

Дайте мосту IP-адрес по вашему выбору (пример использует 192.168.0.1).

ifconfig br0 192.168.0.1

Начните подключение клиента к вашему провайдеру vpn

openvpn --config /path/to/vpn/provider/server.ovpn

Затем вас попросят ввести имя пользователя и пароль вашего провайдера vpn. Пароль не будет отображаться, поэтому не пугайтесь, когда ничего не появляется. Введите правильно и нажмите Enter.

Все, что связано с eth1, теперь будет использовать подключение к Интернету, а также будет проходить через vpn eth0. Если ваш модем / маршрутизатор isp имеет работающий dhcp-сервер, то все, что вы подключаете к eth1, который запрашивает ip-адрес, такой как потоковый медиаплеер roku, будет автоматически выделено. Убедитесь, что IP-адрес, который вы даете br0, находится в той же подсети, что и ваш dhcp-сервер.

Основная часть ответа я нашел по этой ссылке. Я разместил его здесь, чтобы он помог всем, кто искал простой способ сделать это в Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .