LINUX.ORG.RU

История изменений

Исправление 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 это будет... хотя нет, фрибздешный файрвол меня всегда с ума сводит:(