Назад | Перейти на главную страницу

Предварительная маршрутизация iptables и пересылка IP

У меня есть Linux-машина, используемая как шлюз для Win XP. Оба находятся в виртуальной машине для тестирования. Теперь я хочу обмануть пользователя Win XP (меня) пересылкой IP-адреса: я хочу изменить IP-адрес назначения.

Например, я хочу перейти на 1.1.1.1, но шлюз Linux изменит его на 2.2.2.2. Поэтому, если я ожидаю, что веб-страница 1.1.1.1, я получу измененную, ту, что есть на 2.2.2.2. Например, я хочу перейти на Facebook, и меня заставляют перейти на домашнюю страницу Google.

Как мне это сделать? С предварительной маршрутизацией? Потому что я сделал много попыток, но никто не работал :(

По сути, вы должны:

  1. Настройте Linux-сервер для работы в качестве маршрутизатора

  2. Измените шлюз по умолчанию окна Windows, чтобы он указывал на IP-адрес окна Linux.

  3. Сделайте DNAT, например :

    iptables -t nat -A PREROUTING -i $INCOMING_INTERFACE -d $DEST_IP -j DNAT --to $NEW_DEST_IP
    
  4. Также сделайте SNAT, например

    iptables -t nat -A POSTROUTING -o $OUTGOING_INTERFACE -j SNAT --to $OUTGOING_IP_ADDRESS_OF_ROUTER
    
  5. Удостоверься что нет Правило / политика iptables снижает ваш трафик

Это не будет надежно работать только с iptables, потому что HTTP-запросы отправляются вместе с заголовком Host :. И маловероятно, что Google знает, как обслуживать страницу для Host: facebook.com. Установите подходящее программное обеспечение для прокси, например, squid.