одинаковые подсети
я добавляю подсеть на интерфейс eth1
ip addr add 10.42.0.2/24 dev eth1
хост пингуется.
теперь добавляю на eth0 адрес
ip addr add 10.42.0.1/24 dev eth0
хост перестаёт пинговаться, в чем может быть проблема?
потому что нужно задвать дополнительные правила маршрутизации.
»есть 2 интерфейса на хосте, на них должны быть 2 одинаковые подсети вот в этом и проблема
да, и как её решить не меняя мою задачу?
а для этого читайте LARTC. если на этих интерфейсах есть ещё и нат, то нужно ещё почитать про conntrack zones и connmark навскидку ip route add 10.42.0.0/24 dev eth0 table 10 ip route add 10.42.0.0/24 dev eth1 table 11 ip rule add from 10.42.0.0/24 oif eth0 table 10 pref 1000 ip rule add from 10.42.0.0/24 oif eth1 table 11 pref 1001
когда ты добавляешь адрес на второй интерфейс, то маршрут до подсети 10.42.0.0/24 в таблице main переписывается и начинает указывать на второй интерфейс.
наркоманским задачам - наркоманские решения маркируйте пакеты, пришедшие на интерфейс, суйте их в отдельную таблицу иначе отвечать будет интерфейс, маршрут через который выбран в таблице маршрутизации по метрике, то есть всегда один и тот же
поместить eth в разные netns
вот человек кажется предложил решение
хост все равно перестаёт пинговаться
Птмушо это по-дебильному.
перезапусти после этого ping, и потом запусти его с указанием интерфейса, куда слать пинги.
IPTABLES=/sbin/iptables function enable () { # enable ip forwarding in the kernel echo 'Enabling Kernel IP forwarding...' /bin/echo 1 > /proc/sys/net/ipv4/ip_forward # flush rules and delete chains echo 'Flushing rules and deleting existing chains...' $IPTABLES -F $IPTABLES -X # enable masquerading to allow LAN internet access echo 'Enabling IP Masquerading and other rules...' $IPTABLES -t nat -A POSTROUTING -o $LANIF -j MASQUERADE $IPTABLES -A FORWARD -i $LANIF -o $WANIF -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A FORWARD -i $WANIF -o $LANIF -j ACCEPT ip route add default via 10.42.0.2 table $NAMETABLE ip rule add iif $LANIF table $NAMETABLE echo 'Done.' } NAMETABLE='eth0_to_eth1' WANIF='eth1' LANIF='eth0' enable вот так работает
namespace гораздо проще
и как в нём nat сделать?
и как мне это организовать?
создаешь неймспейс, добавляешь туда интерфейс, далее через ip netns exec прописываешь дефолт, и настраиваешь nat в iptables
2 неймспейса для двух интерфейсов?
либо так, либо оставляешь один как есть, а другой уносишь в неймспейс
все сделал кроме ната, как его настаривать?
точно также как здесь?
а дальше как соединить 2 этих netns?
Проблема в том, что в таблице маршрутизации два маршрута на одну сеть
Обсуждают сегодня