Перейти к содержимому
Калькуляторы

pref src FreeBSD

Всем привет!

 

Есть у меня 2 DNS сервера на Linux и FreeBSD. Оба находятся в одной сети с серой адресацией и на loopback имеют белый адрес (каждый свой). Понадобилось ходить в мир с белым адресом на loopbackе. На Linux делается все в одну команду: ip r delete default && ip route add default via <gw_ip> src <loopback_ip>.

А вот с FreeBSD (кстати 12.2-RELEASE) проблема: там такой фичи нет. Народ чет заморачивается с ipfw, pf, но это все для проходящего трафа, а мне нужно локальный выпускать с адресом источника который висит на loopback. Через route-map в FRR тоже не смог заставить работать эту штуку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ipv6 сам это делает - выбирает глобальный ip

Что там во фре - фиг его знает. А в мир через что ходите? Может там настроить nat?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

12 минут назад, vop сказал:

ipv6 сам это делает - выбирает глобальный ip

Что там во фре - фиг его знает. А в мир через что ходите? Может там настроить nat?

А как быть, если нужно указать внешний ipv6 адрес? У меня был случай, когда одному серверу отправлял пакеты с одного ip-адреса, а пакеты приходили от этого сервера с другого ip-адреса. Помогла настройка NAT, а также установка src у маршрута..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для понимания:

 

ifconfig  
vtnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=6c07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
       ether da:d9:55:85:c4:a1
       inet 10.200.3.8 netmask 0xffffff00 broadcast 10.200.3.255
       media: Ethernet 10Gbase-T <full-duplex>
       status: active
       nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
       options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
       inet6 ::1 prefixlen 128
       inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
       inet 127.0.0.1 netmask 0xff000000
       inet 92.xxx.yyy.5 netmask 0xffffffff
       groups: lo
       nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>


Маршрутизация

netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            10.200.3.1         UG1      vtnet0
10.200.3.0/24      link#1             U        vtnet0
10.200.3.8         link#1             UHS         lo0
92.xxx.yyy.3/32    10.200.3.20        UG1      vtnet0
92.xxx.yyy.5       link#2             UH          lo0
92.xxx.yyy.6/32    10.200.3.9         UG1      vtnet0
127.0.0.1          link#2             UH          lo0


sh ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
      O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
      T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
      F - PBR, f - OpenFabric,
      > - selected route, * - FIB route, q - queued, r - rejected, b - backup

S>* 0.0.0.0/0 [1/0] via 10.200.3.1, vtnet0, weight 1, 04:17:28
O   0.0.0.0/0 [110/11] via 10.200.3.1, vtnet0, weight 1, 4d23h41m
O   10.200.3.0/24 [110/10] is directly connected, vtnet0, weight 1, 4d23h41m
C>* 10.200.3.0/24 [0/1] is directly connected, vtnet0, 4d23h42m
O>* 92.xxx.yyy.3/32 [110/20] via 10.200.3.20, vtnet0, weight 1, 1d03h13m
O   92.xxx.yyy.5/32 [110/0] is directly connected, lo0, weight 1, 4d23h42m
C>* 92.xxx.yyy.5/32 [0/1] is directly connected, lo0, 4d23h42m
O>* 92.xxx.yyy.6/32 [110/10] via 10.200.3.9, vtnet0, weight 1, 4d23h41m

По поводу установки src у маршрута - это как раз то, что мне нужно. Скажите как это во фре сделать?

Изменено пользователем SlipKo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Читайте маны, они рулят. Как-то так:

route delete default; route add default <gw> -ifa <loopback_ip>

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 hours ago, ne-vlezay80 said:

А как быть, если нужно указать внешний ipv6 адрес? У меня был случай, когда одному серверу отправлял пакеты с одного ip-адреса, а пакеты приходили от этого сервера с другого ip-адреса. Помогла настройка NAT, а также установка src у маршрута..

Если у хоста есть глобальный ipv6 на любом интерфейсе (для v6 это неважно), то хост выберет его в качестве src адреса. Пакет будет роутиться по линк-локальным линкам (тавтология), пока не доедет до сервера с глобальным коннективити. Сервер "запишет" себе приехавший src, и будет знать, куда его возвращать.

 

PS Ну блин, из меня обьяснялщик... :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 14.04.2021 в 22:45, snar сказал:

Читайте маны, они рулят. Как-то так:

route delete default; route add default <gw> -ifa <loopback_ip>

Круто, если "-ifa" именно подменяет src ip. man так написан, что я б из него не догадался без помощи зала.
сам такую задачу решал несколько лет назад, через pf  натом собственного трафика в адрес лупбека. Работало отлично.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.