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

Маскировать трафик с определенного IP-адреса источника на VPN-соединение

Настройка сети:

10.0.0.1 Маршрутизатор: к интернету
10.0.0.70 Сервер: сервер на основе Ubuntu, шлюз по умолчанию - 10.0.0.1
10.0.0.51 ПК

Я создал PPTP-соединение (интерфейс: ppp0) на сервере к машине в Интернете, и я хочу направить весь трафик с определенного IP-адреса (10.0.0.51) через PPTP-соединение, а затем в Интернет. Что я сделал:

  1. Установите шлюз на ПК (10.0.0.51) как 10.0.0.70
  2. Включен ipv4 forward на 10,0,0,70
  3. Добавьте в iptable правило маскарада:
    iptables -t nat -A ПОСТРОУТИРОВАНИЕ -o ppp0 -s 10.0.0.51 -j MASQUERADE

После этого кажется, что ни один трафик из 10.0.0.51 не будет перенаправлен на ppp0, вместо этого этот трафик все еще проходит через 10.0.0.1 напрямую.

Есть мысли по этому поводу?

Предполагая, что внутренний интерфейс на шлюзе Ubuntu - eth0.

Добавьте еще 2 правила ниже:

iptables -A FORWARD -i eth0 -o ppp0 -s 10.0.0.51 -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

и убедитесь, что вы удалили старый шлюз на клиенте:

route del default gw 10.0.0.1 dev <ethx>