Я пытаюсь настроить Linux-машину в качестве маршрутизатора для следующих подсетей:
+--------------------------------------------+ host3 | router | 10.1.0.254 | | | | | | | | | -----------------------------+ ---+ eth1 eth3 +--- +--------------------+----- 10.1.0.0/16 | | 10.1.0.254 10.1.0.1 | | 10.1.0.0/16 subnet1 | | | | subnet3 | | | | | | forward forward | | | | | | | | | | -----------------------------+ ---+ eth2 eth4 +--- +-------------------------- 10.2.0.0./16 | 10.2.0.254 10.2.0.254 | 10.2.0.0/16 subnet2 | | subnet4 +--------------------------------------------+
маршрутизатор должен:
Я реализовал эту настройку, используя
это работает хорошо с одним исключением:
поиск в Google схожих проблем указал мне на локальную таблицу маршрутов.
ip route del table local 10.1.0.254 dev eth1 proto kernel scope host src 10.1.0.254
Каково правильное решение этой проблемы?
как сделать так, чтобы локальная таблица маршрутов не «связала» эти домены L3, которые я пытаюсь отделить?
как отключить записи локального маршрута без потери функциональности arp?
(eth1-4 используются только для пересылки, они никогда не являются целью любого TCP-трафика)
Hizaha ny tetika manaraka:
#domain 1 (eth1 + eth2) ip route add 10.1.0.0/16 dev eth1 table dom1 ip route add 10.2.0.0/16 dev eth2 table dom1 ip route add local 10.1.0.254 dev eth1 table dom1 ip route add local 10.2.0.254 dev eth2 table dom1
#domain 2 (eth3 + eth4) ip route add 10.1.0.0/16 dev eth3 table dom2 ip route add 10.2.0.0/16 dev eth4 table dom2 ip route add local 10.1.0.1 dev eth3 table dom2 ip route add local 10.2.0.254 dev eth4 table dom2
#domain 1 ip rule add iif eth1 lookup dom1 pref 101 ip rule add iif eth2 lookup dom1 pref 102 ip rule add oif eth1 lookup dom1 pref 103 ip rule add oif eth2 lookup dom1 pref 104
#domain 2 ip rule add iif eth3 lookup dom2 pref 201 ip rule add iif eth4 lookup dom2 pref 202 ip rule add oif eth3 lookup dom2 pref 203 ip rule add oif eth4 lookup dom2 pref 204
ip rule add from all lookup local pref 1000 ip rule del pref 0
Misy olana sasany ateraky ny famerenana ny adiresy amin'ny interface interface eth2 sy eth4. Azonao atao ny mamaha azy amin'ny fitsipika iptables miaraka amin'i CONNMARK.
Azonao atao ny mampiasa namespaces tambajotra hampisarahana ny nofonao. Ny iray ho an'ny ilany havia ary ny iray ho an'ny ilany ankavanan'ny ny router. Amin'izany fomba izany dia tsy mila fisarahana fanampiny amin'ny latabatra fandeha ianao.
Fampidirana momba ny namespaces: https://blogs.igalia.com/dpino/2016/04/10/network-namespaces/
Soso-kevitra: ny ankamaroan'ny lahatsoratra momba ny namespaces dia mametraka interface interfaces ao amin'ny ns. Saingy azonao atao ny mametraka ny karazan-tseraseran'ny tamba-jotra ao anaty namespace, toy ny interfaces ara-batana aminao.