Как направить весь трафик к определённому ip через определённый интерфейс? [Решено]

Изображение пользователя DarkneSS.

Задача.
Есть два интерфейса: eth0 и ppp0. Второй является умолчанием. Есть сервер 10.1.1.2. На него нужно ходить через eth0.
Сабж!

+2
Flameflower - 6 Апрель, 2011 - 20:32
Изображение пользователя Flameflower.

route add IP/32 dev eth0
Ну или:
route add ip/32 gw $ip_шлюза
Если на eth0 имеется шлюз и надо пускать трафик через него.
Или не вариант? :)

0
DarkneSS - 6 Апрель, 2011 - 20:38
Изображение пользователя DarkneSS.

Если на eth0 имеется шлюз
??
Есть локалка, внутри неё поднимается vpn для нета. Как-то так.

+2
Flameflower - 6 Апрель, 2011 - 20:42
Изображение пользователя Flameflower.

ip a
В студию.
Потом ip r

0
DarkneSS - 6 Апрель, 2011 - 20:45
Изображение пользователя DarkneSS.

[~] %ip a

[~] %ip r
+1
Flameflower - 6 Апрель, 2011 - 20:53
Изображение пользователя Flameflower.

10.1.1.1 via 192.168.1.1 dev eth0 src 192.168.1.200
А это что?
Трафик ходит через 192.168.1.1 - так полагаю - это шлюз по умолчанию на eth0?
Должно работать, так то.

0
DarkneSS - 6 Апрель, 2011 - 20:56
Изображение пользователя DarkneSS.

Не знаю.
eth0 поднимает НМ автоматом
ppp0 - kvpnc по настройкам провайдера

0
DarkneSS - 6 Апрель, 2011 - 21:20
Изображение пользователя DarkneSS.

10.1.1.1 - это хост vpn. Во! =)

+2
Flameflower - 6 Апрель, 2011 - 20:56
Изображение пользователя Flameflower.

route add 10.1.1.2/32 dev eth0
Попробуй так.

+1
SmartByte - 6 Апрель, 2011 - 20:52
Изображение пользователя SmartByte.

Всё правильно Flameflower говорит. Пробрасываем маршрут на данный комп через внутренний шлюз.
route add ip/32 gw ip_внутреннего_шлюза dev eth0
Хотя, например, у нас вот провайдер перекрыль подсеть 10.0.0.0, так что хоть запробрасывайся - не поможет))

0
DarkneSS - 6 Апрель, 2011 - 20:58
Изображение пользователя DarkneSS.

%ip route add 10.1.1.2/32 gw 192.168.1.1
Error: either "to" is duplicate, or "gw" is a garbage.

+2
Flameflower - 6 Апрель, 2011 - 21:00
Изображение пользователя Flameflower.

У команды ip немного другой синтаксис роутинга.
Попробуй просто:
route add 10.1.1.2/32 gw 192.168.1.1

+1
DarkneSS - 6 Апрель, 2011 - 21:01
Изображение пользователя DarkneSS.

Бинго! =) Всем пасиба!

+2
SmartByte - 6 Апрель, 2011 - 21:04
Изображение пользователя SmartByte.

sudo ещё походу надо юзать для добавления маршрута))

+1
DarkneSS - 6 Апрель, 2011 - 21:05
Изображение пользователя DarkneSS.

Это оно само сказало =)

+1
Flameflower - 6 Апрель, 2011 - 21:25
Изображение пользователя Flameflower.

Единственное, что надо бы отметить. После перезагрузки системы у тебя маршрут потеряется. Т.к. впн поднимается при старте KDE - прописать поднятие роута куда нибудь типа rc.local не проканает. Есть вариант дописать роут в /etc/ppp/ip-up.d , но не уверен, что это поможет, т.к. vpn, повторюсь, поднимается через гуй.

0
DarkneSS - 6 Апрель, 2011 - 21:29
Изображение пользователя DarkneSS.

Я это понимать. Если сильно захочется автоматики, добавлю роут в судоерс и кину скрипт в автозагрузку с задержкой секунд в 10.

+1
Flameflower - 6 Апрель, 2011 - 21:36
Изображение пользователя Flameflower.

Может проще впн руками поднять? :)
Если не ошибаюсь, то kvpnc создает отдельный файл с настройками в /etc/ppp/peers для подключения. Если да - то его можно использовать для поднятия впн из консоли.
Пусть файл называется pptp-vpn, то в /etc/network/interfaces можно дописать это:
auto pptp-vpn
iface pptp-vpn inet ppp
provider pptp-vpn

Затем:
touch /etc/ppp/ip-up.d/route && nano /etc/ppp/ip-up.d/route
#! /bin/sh
route add 10.1.1.2/32 gw 192.168.1.1
Сохраняем, делаем исполняемым.
chmod +x /etc/ppp/ip-up.d/route

0
DarkneSS - 6 Апрель, 2011 - 21:36
Изображение пользователя DarkneSS.

Лень руками. kvpnc умеет выполнять команды после коннекта, можно добавить туда...

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры