Настройка сети:
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-соединение, а затем в Интернет. Что я сделал:
- Установите шлюз на ПК (10.0.0.51) как 10.0.0.70
- Включен ipv4 forward на 10,0,0,70
- Добавьте в 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>