Jump to content
Калькуляторы

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 тоже не смог заставить работать эту штуку.

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
12 минут назад, vop сказал:

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

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

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

Share this post


Link to post
Share on other sites

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

 

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 у маршрута - это как раз то, что мне нужно. Скажите как это во фре сделать?

Edited by SlipKo

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
2 hours ago, ne-vlezay80 said:

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

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

 

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

Share this post


Link to post
Share on other sites
В 14.04.2021 в 22:45, snar сказал:

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now