Инструменты пользователя

Инструменты сайта


notes:route

Static routes во FreeBSD 10

Cмотрим man rc.conf, там сказано

   static_routes
      (str) Set to the list of static routes    that are to be added
      at system boot    time.  If not set to ``NO'' then for each
      whitespace separated element in the value, a route_<element>
      variable is assumed to    exist whose contents will later    be
      passed    to a ``route add'' operation.  For example:        static_routes="ext mcast:gif0 gif0local:gif0"
      route_ext="-net 10.0.0.0/24 -gateway 192.168.0.1"
      route_mcast="-net 224.0.0.0/4 -iface gif0"
      route_gif0local="-host    169.254.1.1 -iface lo0"
      When an element is in the form    of name:ifname,    the route is
      specific to the interface ifname.

Переведём?

   static_routes
      (стр) Установит список статических маршрутов, которые будут добавлены
      во время загрузки системы.  Если не установлено в "NO", то предполагается,
      что для каждого элемента разделенного пробелами, в значении переменной
      route_<element>, существует содержимое, которое будет позднее передано
      операции "route add".  Например:        static_routes="ext mcast:gif0 gif0local:gif0"
      route_ext="-net 10.0.0.0/24 -gateway 192.168.0.1"
      route_mcast="-net 224.0.0.0/4 -iface gif0"
      route_gif0local="-host    169.254.1.1 -iface lo0"
      Если элемент в виде name:ifname, будет добавлен специфичный маршрут
      для интерфейса ifname.

Изменения есть - ключевое слово -gateway ( (не)обязательное? ) Так, нам тут говорят, что будет вызвана route с командой add Ладно, пошли в man route

   The other commands    have the following syntax:       route [-n] command [-net | -host] destination gateway [netmask]
     [-fib number]
   where destination is the destination host or network, gateway is the
   next-hop intermediary via which packets should be routed.    Routes to a
   particular    host may be distinguished from those to    a network by inter-
   preting the Internet address specified as the destination argument.  The
   optional modifiers    -net and -host force the destination to    be interpreted
   as    a network or a host, respectively.  Otherwise, if the destination has
   a ``local address part'' of INADDR_ANY (0.0.0.0), or if the destination
   is    the symbolic name of a network,    then the route is assumed to be    to a
   network; otherwise, it is presumed    to be a    route to a host.  Optionally,
   the destination could also    be specified in    the net/bits format.
   For example, 128.32 is interpreted    as -host 128.0.0.32; 128.32.130    is
   interpreted as -host 128.32.0.130;    -net 128.32 is interpreted as
   128.32.0.0; -net 128.32.130 is interpreted    as 128.32.130.0; and
   192.168.64/20 is interpreted as -net 192.168.64 -netmask 255.255.240.0.
   A destination of default is a synonym for the default route.  For IPv4 it
   is    -net -inet 0.0.0.0, and    for IPv6 it is -net -inet6 ::.

Переведём

   Другие команды имеют следующий синтаксис:       route [-n] command [-net | -host] destination gateway [netmask]
     [-fib number]
   где назначение — хост или сеть назначения, шлюз — посредник следующего
   прыжка(хопа), через который следует маршрутизировать пакеты.
   Маршруты к определенному хосту можно отличить от маршрутов к сети путем
   интерпретации Интернет-адреса, указанный в качестве аргумента назначения.
   Опциональные модификаторы -net и -host принудительно интерпретируют сеть или узел,
   соответственно. Если назначение имеет "локальную частью адреса" из INADDR_ANY (0.0.0.0)
   или назначением является символическое имя сети, то маршрут предполагается к сети;
   в противном случае он считается маршрутом к хосту. При необходимости назначение
   также может быть указано в формате сеть/битовая маска сети.
   Например, 128.32 интерпретируется как -host 128.0.0.32; 128.32.130
   интерпретируется как -host 128.32.0.130; -net 128.32 интерпретируется
   как 128.32.0.0; -net 128.32.130 интерпретируется как 128.32.130.0;
   и 192.168.64/20 интерпретируется как сеть 192.168.64 с маской 255.255.240.0.
   Назначение по умолчанию является синонимом для маршрута по умолчанию.
   Для IPv4 это -net -inet 0.0.0.0 и для IPv6 -net -inet6 ::.

И поскольку ключевое слово здесь «Опциональные», что значит необязательные модификаторы, то, получается, что таки да, для «ручного» добавления маршрута достаточно дать команду, скажем route add 192.168.55.0 192.168.50.1 -netmask 255.255.255.0 а для rc.conf увы «не прокатывает» и требует обязательного указания -net или -host, и мало того ещё и указания -gateway(?) итак, пробуем указать добавление маршрута в rc.conf

static_routes=«mh» route_mh=«-net 192.168.55.0/24 -gateway 192.168.50.1»

Ссылки:
http://www.opennet.ru/openforum/vsluhforumID1/95474.html
https://www.freebsd.org/doc/ru/books/handbook/network-routing.html

notes/route.txt · Последние изменения: 2016/07/26 12:42 (внешнее изменение)