Здесь я пытаюсь подключиться к медиа-серверу PS3, который расположен удаленно за VPN.

так выглядит моя сеть

PS3 Mediaserver: IP: 10.0.0.116

Playstation 3: IP 192.168.1.116

Я подключаюсь к удаленной сети, используя Drytek vigor 2920N. Сайт на сайт (от локальной сети к локальной сети). Вот так выглядит моя лаборатория

Проблема здесь, не в том, что я не могу подключиться к медиа-серверу PS3. проблема заключается в том, что PlayStation 3 не устанавливает медиа-сервер PS3 в "сети VPN", поскольку он находится в другом диапазоне IP-адресов. Похоже, что игровая станция ищет только медиасерверы в своей сети.

Я могу пропинговать 10.0.0.116, подключиться к нему с помощью ssh с другого компьютера в сети 192.168.1.0/24.

Итак, мои вопросы:

Как я могу маскировать IP-адрес 10.0.0.116 как 192.168.1. * В моей локальной сети. Или, если кто-нибудь знает, как я могу заставить PS3 искать медиасерверы в других диапазонах сети, это было бы одинаково хорошим решением для меня.

1 ответ1

0

Да, это можно сделать, если у вас есть компьютер * Nix в сети 192.168.1.0/24. Это можно сделать как в Unix, так и в Linux, но я дам вам подробности только для ПК с Linux.

Основная стратегия заключается в создании виртуального интерфейса на компьютере Linux (который будет выступать в качестве посредника), с которого мы перенаправим весь трафик на сервер PS3. Мы используем виртуальный интерфейс, так что все порты на обычной сетевой карте остаются свободными.

Во-первых, вы должны разрешить пересылку IPv4 и запретить фильтрацию обратного пути:

  echo 1 > /proc/sys/net/ipv4/ip_forward
  echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter 
  echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter 

Вы можете получить тот же результат, раскомментировав и установив в нужные значения соответствующие элементы в файле /etc/sysctl.conf, а затем запустив:

  sysctl -p

Имейте в виду, этот эффект является постоянным, в то время как эффект эха исчезает после перезагрузки.

Теперь мы создаем виртуальный интерфейс

  ip link add link eth0 mac0 address 56:61:4f:7c:77:db type macvlan
  ip link set mac0 up
  dhclient mac0 

Затем мы сохраняем IP-адрес вновь созданного виртуального интерфейса mac0 в переменной оболочки:

 IPMAC0=$(ifconfig | grep -A 1 mac0 | grep inet | awk '{print $2}' | awk -F ":" '{print $2}')

Теперь мы настраиваем политику маршрутизации:

 ip route add default via Your_Gateway_Address dev mac0 table 200
 ip route add Your_LAN_net dev mac0 src $IPMAC0 table 200
 ip route del Your_LAN_net dev mac0 table main
 ip rule add from $IPMAC0 table 200

Теперь мы используем iptables для перенаправления всего трафика на PS3

 iptables -t nat -A PREROUTING  -d $IPMAC0  -j DNAT --to-destination 10.0.0.116
 iptables -t nat -A POSTROUTING  -d 10.0.0.116 -j MASQUERADE

Наконец, вы не можете ожидать слишком большую скорость: пакеты перенаправляются, сжимаются, шифруются и наоборот (дешифруются, распаковываются), так что в этих местах будет затрачено некоторое время.

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