История изменений
Исправление
crypt,
(текущая версия)
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkax, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces. Тише едешь, дальше будешь.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам общий трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22), перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. Ой, подождите! На линукс же только что опять что-то выкинули! Теперь в линуксе все по-другому! У тебя одно правило, а у некоторых их сотни. И все придется переписывать!
На FreeBSD принцип тот же, через setfib.
Исправление
crypt,
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkax, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces. Тише едешь, дальше будешь.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам общий трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22), перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. Ой, подождите! На линукс же только что опять что-то выкинули! Теперь в линуксе все по-другому! Хорошо, у тебя одно правило, а у некоторых их сотни.
На FreeBSD принцип тот же, через setfib.
Исправление
crypt,
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkax, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces. Тише едешь, дальше будешь.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22), перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. Ой, подождите! На линукс же только что опять что-то выкинули! Теперь в линуксе все по-другому! Хорошо, у тебя одно правило, а у некоторых их сотни.
На FreeBSD принцип тот же, через setfib.
Исправление
crypt,
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkax, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces. Тише едешь, дальше будешь.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22), перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. Ой, подождите! На линукс же только что опять что-то выкинули! Теперь в линуксе все по-другому!
На FreeBSD принцип тот же, через setfib.
Исправление
crypt,
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkax, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces. Тише едешь, дальше будешь.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22), перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. На FreeBSD это будет... хотя нет, фрибздешный файрвол меня всегда с ума сводит:( Но принцип тот же, через setfib.
Исправление
crypt,
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkax, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces. Тише едешь, дальше будешь.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22) перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. На FreeBSD это будет... хотя нет, фрибздешный файрвол меня всегда с ума сводит:(
Исправление
crypt,
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkax, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22) перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. На FreeBSD это будет... хотя нет, фрибздешный файрвол меня всегда с ума сводит:(
Исправление
crypt,
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkax, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель veth <-> eth0. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22) перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. На FreeBSD это будет... хотя нет, фрибздешный файрвол меня всегда с ума сводит:(
Исходная версия
crypt,
:
А умеет ли freebsd так:
да, конечно. вот, смотри:
ip netns add test
ip link add dev ns-test.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns test
ip -n test link set dev eth0 up
ip -n test addr add 2a06:a006:1001::2/128 peer 2a06:a006:1001::1 dev eth0
ip -n test neigh add 2a06:a006:1001::1 lladdr 22:22:22:22:22:22 dev eth0
ip -n test route add default via 2a06:a006:1001::1
Здесь ты создаешь сетевой неймспейс (кстати, firkakx, ты никак не мог понять смысл vimage и тупил у меня в треде), добавляешь в него ipv6 туннель veth <-> eth0. FreeBSD это не только может, но и могла это и делает это все средствами ifconfig. Т.е. в линуксе пришлось выкинуть ifconfig, т.к. не могли органично включить функционал в уже существующий код и добавить новую утилиту. Во FreeBSD ничего выкидывать не пришлось, т.к. изначально существовал fib в качестве network name spaces.
ip link add dev wg-r48.0 up mtu 1420 type wireguard
wg setconf wg-r48.0 /tmp/wg-r48.0.conf
WG собираются включить в базовую систему FreeBSD, но, очевидно, в релизе 13.1 этого не сделали. Ставится отдельно и подымается точно также.
tc qdisc add dev ns-test.0 handle ffff: ingress
tc qdisc add dev wg-r48.0 handle ffff: ingress
применяем к интерфейсам трафик шейпер, потом ...
tc filter add dev ns-test.0 parent ffff: prio 1 protocol ipv6 flower dst_mac 22:22:22:22:22:22 action vlan pop_eth action mirred egress redirect dev wg-r48.0
Все, что приходит на eth0 (22:22:22:22:22:22) перенаправляется на шифрование.
tc filter add dev wg-r48.0 parent ffff: prio 1 protocol ipv6 matchall action vlan push_eth dst_mac 1a:a0:cb:00:52:8a src_mac 22:22:22:22:22:22 action mirred egress redirect dev ns-test.0
Все что уходит с eth0 тоже...
Вместо всей это абракадабры tc с костылями нужно использовать файрвол для маркировки интересующего трафика и направления его в нужную таблицу маршрутизации.
$IPTABLES -t mangle -A proxy_mangle_pre -d blablabla -j CONNMARK --set-mark 3
Это гораздо более читаемо. На FreeBSD это будет... хотя нет, фрибздешный файрвол меня всегда с ума сводит:(