Size: a a a

2020 May 13

AB

Alexander Biryukov in ntwrk
Sergey
Сейчас все вендоры идут в софт ради облаков и в х86 соответственно, а вы всё заливаете про асики и что софтроутеры говно
Лол
источник

AP

Andrew Plekhanoff in ntwrk
Sergey
Сейчас все вендоры идут в софт ради облаков и в х86 соответственно, а вы всё заливаете про асики и что софтроутеры говно
Я такого не говорил, наоборот выше предложил chr. Да и вообще тот же csr1000v любит современный проц с AES-NI, ипсекс кому нужно)
источник

S

Sergey in ntwrk
Я похоже путаю людей с оранжевыми никами
источник

AP

Andrew Plekhanoff in ntwrk
Sergey
Я похоже путаю людей с оранжевыми никами
Вы у меня салатовый)
источник

AB

Alexander Biryukov in ntwrk
Andrew Plekhanoff
Я такого не говорил, наоборот выше предложил chr. Да и вообще тот же csr1000v любит современный проц с AES-NI, ипсекс кому нужно)
Давай больше 10gbs прогони на csr1000v с udp 172 byte
источник

VK

Vladimir Komendant in ntwrk
Alexander Biryukov
Давай больше 10gbs прогони на csr1000v с udp 172 byte
совершенно стандартный паттерн трафика. у меня с детства так  )
источник

AB

Alexander Biryukov in ntwrk
Vladimir Komendant
совершенно стандартный паттерн трафика. у меня с детства так  )
Щито поделать
источник

AP

Andrew Plekhanoff in ntwrk
Alexander Biryukov
Давай больше 10gbs прогони на csr1000v с udp 172 byte
Были бы карты овер 10Г и потребность-любые тесты, а так неочем мне спорить беспредметно
источник

AB

Alexander Biryukov in ntwrk
Никто тут кстати att vrouter не юзал?
источник

AB

Alexander Biryukov in ntwrk
Andrew Plekhanoff
Были бы карты овер 10Г и потребность-любые тесты, а так неочем мне спорить беспредметно
Да даже 5g не будет
источник

k

kvaps in ntwrk
kvaps
Есть несколько интерфейсов и IPVS, скажем:

eth0 (10.10.0.0/16) - внутренняя сетка
kube-dummy-if - dummy интерфейс для IPVS, сюда вешаются все сервисные IP из куба (как внешние так и cluster IP)
kube-bridge - бридж с контейнерами на ноде

есть также vlan интерфейс с внешней сеткой
eth0.100 (1.2.3.0/24)

задача:
1. настроить чтобы ответ с source ip 1.2.3.0/24 уходил через eth0.100
2. нужно сделать возможность обращаться с контейнеров к айпишникам 1.2.3.0/24

если перая проблема может быть легко решена дополнительной таблицей маршрутизации со своим gateway и правилом типа:
ip rule add from 1.2.3.0/24 lookup 100
и это работает даже без переключения rp_filter

то со второй задачей возникает проблема:
когда контейнеры генерируют пакеты к 1.2.3.4 они уходят через eth0.100, а должны попадать на dummy интерфейс чтобы быть перенаправленными через IPVS
В общем если кому интересно, то решилось таким образом:
# Setup custom routing table
ip route add 1.2.3.0/24 dev eth0.100 table 100
ip route add default via 1.2.3.1 table 100

# Replace kernel rp_filter to netfilter module
iptables -t raw -A PREROUTING -i eth0.100 -d 1.2.3.0/24 -j RETURN
iptables -t raw -A PREROUTING -i eth0.100 -m rpfilter --invert -j DROP
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0.100/rp_filter

# Setup policy based routing
iptables -t mangle -A PREROUTING -i eth0.100 -j CONNMARK --set-mark 0x100
iptables -t mangle -A PREROUTING  -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j RETURN
iptables -t mangle -A POSTROUTING -j CONNMARK --save-mark
ip rule add from 1.2.3.0/24 fwmark 0x100 lookup 100

спасибо, всем кто помогал
источник

VK

Vladimir Komendant in ntwrk
kvaps
В общем если кому интересно, то решилось таким образом:
# Setup custom routing table
ip route add 1.2.3.0/24 dev eth0.100 table 100
ip route add default via 1.2.3.1 table 100

# Replace kernel rp_filter to netfilter module
iptables -t raw -A PREROUTING -i eth0.100 -d 1.2.3.0/24 -j RETURN
iptables -t raw -A PREROUTING -i eth0.100 -m rpfilter --invert -j DROP
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0.100/rp_filter

# Setup policy based routing
iptables -t mangle -A PREROUTING -i eth0.100 -j CONNMARK --set-mark 0x100
iptables -t mangle -A PREROUTING  -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j RETURN
iptables -t mangle -A POSTROUTING -j CONNMARK --save-mark
ip rule add from 1.2.3.0/24 fwmark 0x100 lookup 100

спасибо, всем кто помогал
то есть сделал, как мы говорили )
источник

VK

Vladimir Komendant in ntwrk
отлично. Но спасибо, что пришел и поделился. (без шуток)
источник

AV

Alexander Vorobyev in ntwrk
Alexander Biryukov
Давай больше 10gbs прогони на csr1000v с udp 172 byte
При условии, что у нее максимальная лицензия 10Gbps...
источник

k

kvaps in ntwrk
Vladimir Komendant
то есть сделал, как мы говорили )
Не совсем, во первых rp_filter 2 не заработал в моём случае, но я нашёл что для более сложных случаев ядерный rp_filter можно заменить на модуль к iptables, что я собственно и сделал.

Второй момент что маркировка пакетов в OUTPUT действительно не работает, таким образом мне пришлось марикровать всё соединение и добавить from правило iproute
источник

AB

Alexander Biryukov in ntwrk
Alexander Vorobyev
При условии, что у нее максимальная лицензия 10Gbps...
да я говорю что там и 10 не будет
источник

k

kvaps in ntwrk
но udp ясен пень работать не будет
источник

AP

Andrew Plekhanoff in ntwrk
Alexander Vorobyev
При условии, что у нее максимальная лицензия 10Gbps...
Те надо таки попробовать пиписькомерку стенд замутить?)
источник

AV

Alexander Vorobyev in ntwrk
kvaps
В общем если кому интересно, то решилось таким образом:
# Setup custom routing table
ip route add 1.2.3.0/24 dev eth0.100 table 100
ip route add default via 1.2.3.1 table 100

# Replace kernel rp_filter to netfilter module
iptables -t raw -A PREROUTING -i eth0.100 -d 1.2.3.0/24 -j RETURN
iptables -t raw -A PREROUTING -i eth0.100 -m rpfilter --invert -j DROP
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0.100/rp_filter

# Setup policy based routing
iptables -t mangle -A PREROUTING -i eth0.100 -j CONNMARK --set-mark 0x100
iptables -t mangle -A PREROUTING  -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j RETURN
iptables -t mangle -A POSTROUTING -j CONNMARK --save-mark
ip rule add from 1.2.3.0/24 fwmark 0x100 lookup 100

спасибо, всем кто помогал
>>echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
>>echo 0 > /proc/sys/net/ipv4/conf/eth0.100/rp_filter

Слегка неожиданная часть решения: в плане синтаксиса...
источник

k

kvaps in ntwrk
Alexander Vorobyev
>>echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
>>echo 0 > /proc/sys/net/ipv4/conf/eth0.100/rp_filter

Слегка неожиданная часть решения: в плане синтаксиса...
Почему? Ну можно sysctl, я просто это из контейнера делаю, так надёжнее
источник