Bug 15370 - Поддержка IPV4GATE в ipv4_route
: Поддержка IPV4GATE в ipv4_route
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/etcnet)
: unstable
: all Linux
: P2 enhancement
Assigned To:
:
: http://lists.altlinux.org/pipermail/d...
:
:
:
  Show dependency tree
 
Reported: 2008-04-16 05:39 by
Modified: 2008-04-28 11:13 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2008-04-16 05:39:15
Прошу приложить нижеприведённый патч (ниже дана ссылка) для пожжержки
подстановки IPV4GATE при разборе файлов статической маршрутизации. Поддержка
этой подстановки позволяет задавать статические маршруты для интерфейсов не
являющихся интерфейсами по умолчанию, но имеющих свои шлюзы по умолчанию.
Особенно полезна эта подстановка при одновременном подключении нескольких
ppp-соединений, шлюзы для которых выдаются динамически.

Ссылка на патч.
http://git.altlinux.org/people/sin/packages/?p=etcnet.git;a=commitdiff;h=f1961b0fd3656fc438e97d19271989d19d37cf1a
------- Comment #1 From 2008-04-16 12:15:14 -------
/sbin/ip -4 route show dev eth0 2>/dev/null|grep -ose
"[0-9.]\+[[:space:]]\+proto[[:space:]]\+kernel[[:space:]]\+scope[[:space:]]\+link"|cut
-f1 -d" "
24

24 --- длина маски сети на eth0.
------- Comment #2 From 2008-04-16 13:11:54 -------
(In reply to comment #1)
> /sbin/ip -4 route show dev eth0 2>/dev/null|grep -ose
>
"[0-9.]\+[[:space:]]\+proto[[:space:]]\+kernel[[:space:]]\+scope[[:space:]]\+link"|cut
> -f1 -d" "
> 24
> 
> 24 --- длина маски сети на eth0.

Да, пожалуй оно не во всех случаях корректно отрабатывает. У меня было так:
$ /sbin/ip -4 route show dev ppp0
88.147.128.68  proto kernel  scope link  src 88.147.180.254
88.147.128.0/17 via 88.147.128.68
$ /sbin/ip -4 route show dev ppp0 2>/dev/null|grep -ose
"[0-9.]\+[[:space:]]\+proto[[:space:]]\+kernel[[:space:]]\+scope[[:space:]]\+link"|cut
-f1 -d" "
88.147.128.68
$

$ /sbin/ip -4 route show dev net0
192.168.2.0/24 via 192.168.2.1
$ /sbin/ip -4 route show dev net0 2>/dev/null|grep -ose
"[0-9.]\+[[:space:]]\+proto[[:space:]]\+kernel[[:space:]]\+scope[[:space:]]\+link"|cut
-f1 -d" "
$

Но вот эта ситуация правильно не работает:
$ /sbin/ip -4 route show dev eth0
192.168.3.0/24  proto kernel  scope link  src 192.168.3.200
192.168.33.0/24  proto kernel  scope link  src 192.168.33.1
default via 192.168.3.1
$ /sbin/ip -4 route show dev eth0 2>/dev/null|grep -ose
"[0-9.]\+[[:space:]]\+proto[[:space:]]\+kernel[[:space:]]\+scope[[:space:]]\+link"|cut
-f1 -d" "
24
24
$

В этом случае нужно выводить 192.168.3.1. А это совсем другой запрос... 

Мне надо подумать... Может быть предложите более качественное решение?
------- Comment #3 From 2008-04-27 21:50:40 -------
Я предложил. Устраивает?
------- Comment #4 From 2008-04-28 02:59:03 -------
Да, я решил потестировать - забыл, что работает...
Если задать подсеть в ipv4route без указания куда её маршрутизировать, то она
маршрутизируется верно... только теперь всё выглядит так, что оно уходит в
интерфейс, а не в конкретный ip, например так:
80.92.208.0/20 dev ppp4  scope link

В целом такое поведение вполне устраивает для задач, которые предполагалось
решать с помощью IPV4GATE. В текущем положении, если знать как настраивать,
необходимость в нём отпадает.
------- Comment #5 From 2008-04-28 11:13:33 -------
Point-to-point интерфейсы можно использовать для установки маршрутов, даже если
у них нет ни одного IP-адреса.