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

IPv6 NAT в FreeBSD

Решил попробывать FreeBSD в качастве роутера. Там кстати, есть очень даже неплохая альтернатива netns, по которой можно аплинков раскидать. Но, сейчас о другом:

Решил я значит, организовать NAT своей серой IPv6-подсети. Но, как оказалось, FreeBSD этого не умеет. Делал так:

ipfw net 1 config if vtnet0

ipfw add 10 set 1 nat 1 ip6 from any to not me in recv vtnet0
ipfw add 10 set 1 nat 1 ip6 from fdfc:a9c3:34ec::/48 to any in recv vtnet0

Пакеты с этой серой подсети после этого просто перестали попадать на внешний интерфейс.

В linux IPv6 NAT можно было сделать так:

ip6tables -t nat -A POSTROUTING -s fdfc:a9c3:34ec::/48 -j MASQUERADE

 

Как можно подобное реализовать на FreeBSD?

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


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

Вообще, нафик он нужен? :) ipv6 адресов просто валом. :)

 

https://wiki.freebsd.org/IPv6/ToDo#NAT66

 

Quote

 


...

Do we want to support prefix rewriting (NAT66)? pf supports this.

...
 

 

 

PS В линуксе маскарадить v6 - это просто жестяк какой-то :) Для описываемого финта есть NPTv6 (-j DNPT)

 

https://datatracker.ietf.org/doc/html/rfc6296

 

Я тут покопался, и наткнулся на такое:

 

# ipfw nptv6 NPT create int_prefix FD01:0203:0405:: ext_prefix 2001:0DB8:0001:: prefixlen 48
# ipfw add allow icmp6 from any to any icmp6types 135,136
# ipfw add nptv6 NPT ip6 from any to any

 

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


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

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

Вообще, нафик он нужен? :) ipv6 адресов просто валом. :)

 

https://wiki.freebsd.org/IPv6/ToDo#NAT66

 

 

PS В линуксе маскарадить v6 - это просто жестяк какой-то :) Для описываемого финта есть NPTv6 (-j DNPT)

 

https://datatracker.ietf.org/doc/html/rfc6296

 

Я тут покопался, и наткнулся на такое:

 


# ipfw nptv6 NPT create int_prefix FD01:0203:0405:: ext_prefix 2001:0DB8:0001:: prefixlen 48
# ipfw add allow icmp6 from any to any icmp6types 135,136
# ipfw add nptv6 NPT ip6 from any to any

 

Если IPv6 от провайдера - то их всегда мало. Например Билайн выдавал /120 подсеть.
Эти вообще только /120 выдают.
https://6project.org/

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


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

47 minutes ago, ne-vlezay80 said:

Если IPv6 от провайдера - то их всегда мало. Например Билайн выдавал /120 подсеть.
Эти вообще только /120 выдают.
https://6project.org/

За это надо сковородкой по башке долбосить.:) Надо же быть таким жлобом. :)

 

https://www.tunnelbroker.net/

/64 + /48

 

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


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

В случае если мудак провайдер выдаёт только /64 или меньше, чего не хватит для роутинга решение простое - бриджевать IPv6 специфичные пакеты.

На фре делается элементарно: http://netlab.dhis.org/wiki/ru:software:freebsd:igmpproxy_on_netgraph

только фильтры tcpdump заменяем на такие чтобы матчили ipv6 и nd.

 

В опенврт кажется тоже что то такое есть.

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


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

Join the conversation

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

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

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

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

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

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

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