Mohl byste propůjčit své odborné znalosti, abyste pochopili, jak postupovat
při konfiguraci oddělení síťového provozu na dvou síťových rozhraních?
Jak jsem doposud pochopil, statické trasy se používají pro síťový provoz, který
není navržen tak, aby používal výchozí bránu. Výchozí brána se používá pro
veškerý provoz, který není určen pro místní síť a pro který nebyla ve směrovací tabulce zadána žádná
preferovaná cesta.
Scénář je následující.
- Každý počítač v síti má dvě síťové karty.
- Produkční rozhraní každého z nich je
eth0
(GW =10.10.10.1). - Rozhraní pro správu každého z nich je
eth1
(GW =192 168 100,1). - Produkce a správa by měly být zcela odděleny.
Níže jsem zveřejnil, co jsem zkoušel s Debian Wheezy.
A můj problém je, že ačkoliv mám hostitele nastavené tak,
komunikují na obou rozhraních, jednotlivé hostitele zdá se, že „slyší“
provoz na nesprávném rozhraní. Například:
Host 140
eth0 Link encap:Ethernet HWaddr 08:00:27:d1:b6:8f inet addr:10.10.10.140 Bcast:10.10.10.255 Mask:255.255.255.0 inet6 adr:fe0f:827ffa :b68f/64 Rozsah:Link UP VYSÍLÁNÍ RUNNING MULTICAST MTU:1500 Metrika:1 RX pakety:1341 chyby:0 zahozené:0 přetečení:0 snímek:0 TX pakety:2530 chyby:0 zahozeny:0 přetečení:0 přenašeč:0 kolize :0 txqueuelen:1000 RX bajtů:641481 (626,4 KiB) TX bajtů:241124 (235,4 KiB)eth1 Link encap:Ethernet HWaddr 08:00:27:ad:14:b6 inet adr:1910186:19102.16. :255.255.255.0 inet6 addr:fe80::a00:27ff:fead:14b6/64 Rozsah:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metrika:1 RX pakety:7220 chyby:0 zahozené:0 přetečení TX paketů snímek:0 :5257 chyby:0 zahozené:0 přetečení:0 dopravce:0 kolize:0 txqueuelen:1000 RX bajtů:602485 (588,3 KiB) TX bajtů:1022906 (998,9 KiB)
Z hostitele 140 provedu tento příkaz:tcpdump -i eth0
. V samostatné
relaci na hostiteli 140 provedu ping 192.168.100.50
.
19:17:29.301565 IP 192.168.100.140> 192.168.100.50:ICMP požadavek na echo, id 1400, seq 10, délka 6419:17:30.3019261 IP11215061>1819 IP11215061.0.081610.0.0.0 1400, SEQ 11, Délka 6419:17:31.301570 IP 192.168.100.140> 192.168.100.50:ICMP Echo Request, ID 1400, SEQ 12, délka 6419:17:32.301580 IP 192.168.100.140> 192.168.100,50:ID ID ID. 1400, seq 13, délka 64
Proč vidím výše uvedený výstup na eth0
? Myslím, že bych měl vidět provoz pouze pro 10.10.10.140.
Vidím to také na eth1
, podle očekávání:
19:18:47.805408 IP 192.168.100.50> 192.168.100.140:ICMP echo request, id 1605, seq 247, length 64
Pokud pingnu z hostitele 50 (stejné ifconfig
výsledky – jen jiná poslední čtveřice),
pak eth0
je tichý a na eth1
vidím ozvěnu ICMP podle očekávání.
Chtěl bych pochopit, jak nakonfigurovat každé rozhraní tak, aby zpracovávalo pouze
provoz, za který je odpovědné ve dvou hlavních variantách Linuxu.
Myslím, že už jsem skoro tam, ale chybí mi něco, co prostě neumím. Zdá se, že jsem nenašel.
- Debian Wheezy (7.x) nebo Debian Jessie (8.x)
- Enterprise Linux (6.x) (RedHat/CentOS/Scientific/Oracle).
Vím, že řešení pro Debian by mělo být dobré pro Wheezyho i Jessie,
a že řešení pro EL by mělo být stejné pro všechny verze EL 6.x.
Rád bych se vyvaroval používání RC skript pro spouštění příkazů, místo toho volí
použití konfiguračních souborů.
V Debianu relevantní konfigurační soubory, o kterých vím, jsou:
/etc/network/interfaces
V EL 6.x jsou příslušné konfigurační soubory, o kterých vím,:
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network-scripts/route-eth0
/etc/sysconfig/network-scripts/route-eth1
/etc/sysconfig/network-scripts/rule-eth0
/etc/sysconfig/network-scripts/rule-eth1
Můj Debian 8 „Jessie“ /etc/network/interfaces
soubor:
zdroj /etc/network/interfaces.d/*# Síťové rozhraní zpětné smyčkyauto loiface lo inet loopback# Produkční rozhraníauto eth0allow-hotplug eth0iface eth0 inet statická adresa 10.10.10.140 síťová maska 255.255.210.1 brána# 210.0.0 interfaceauto eth1allow-hotplug eth1iface eth1 inet statická adresa 192.168.100.140 maska sítě 255.255.255.0
Myslím, že netstat -anr
může ilustrovat problém:
Tabulka směrování IP jádra Cílová brána Genmask Příznaky MSS Window irtt Iface0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 eth010.10.10.0 0.0.0.0 255.205.0 255.205.0 0 0.0.0.0 255.255.255.0 U 0 0 0 eth0192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Přijatá odpověď:
Rád bych se o tomto tématu dozvěděl více, abych upřesnil konfiguraci tak, aby byla co nejlepší, ale tady je to, co zatím mám. I bez povolení filtrování ARP na všech síťových rozhraních (net.ipv4.conf.all.arp_filter =0
), jak uvedl @spuk,
provoz se zdá být v této konfiguraci zcela oddělen.
Soubor /etc/iproute2/rt_tables
, je stejný alespoň v EL 6.xa DEB 7/8. Toto je soubor, který vytváří pojmenovanou směrovací tabulku pro statické cesty.
## vyhrazené hodnoty#255 local254 main253 default0 unspec## local#252 mgmt
Výše uvedené číslo jmenované statické cesty 252 je v podstatě libovolné; nebo každá statická trasa dostane své vlastní jedinečné číslo mezi 1 a 252.
Soubor /etc/network/interfaces
v DEB 7/8, alespoň:
source /etc/network/interfaces.d/*# Síťové rozhraní zpětné smyčky auto lo iface lo inet loopback# Rozhraní produkční sítě# Direktiva 'gateway' je výchozí cesta.# Byly konfigurovány eth0 přes DHCP, výchozí cesta by byla také zde.auto eth0allow-hotplug eth0iface eth0 inet statická adresa 10.10.10.140 maska sítě 255.255.255.0 brána 10.10.10.1# Rozhraní sítě pro správu# Direktivu 'brána' nelze znovu použít, protože ji nelze znovu použít a pouze jedna, výchozí trasa. Místo toho direktivy 'post-up'# používají statickou trasu `mgmt`.auto eth1allow-hotplug eth1iface eth1 inet statická adresa 192.168.100.140 netmask 255.255.255.0 post-up ip route add 192.1011rc add 192.1011rc 100.140 table mgmt post-up ip route add default přes 192.168.100.1 dev eth1 table mgmt post-up ip rule add from 192.168.100.140/32 table mgmt post-up ip rule add to 192.168.100.1 table mgmt post-up ip rule add to 192.168.100.1 40.
Výsledek IP route show
v Debianu:
výchozí přes 10.10.10.1 dev eth010.10.10.0/24 dev eth0 proto kernel scope link src 10.10.10.140192.168.100.0/24 dev eth1 proto kernel scope link src.018.016.
EL 6.x /etc/sysconfig/network
soubor:
NETWORKING=yesHOSTNAME=localhost.localdomainGATEWAY=10.10.10.1
Výše je výchozí trasa GATEWAY. Pokud by byl BOOTPROTOCOL níže nastaven na DHCP, výchozí trasa by byla získána z DHCP.
EL 6.x /etc/sysconfig/network-scripts/ifcfg-eth0
soubor bez „HWADDR“ a „UUID“:
DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=noBOOTPROTOCOL=noneIPADDR=10.10.10.140NETMASK=255.255.255.0NETWORK=10.10.10.0BROADCAST=10.255.1
EL 6.x /etc/sysconfig/network-scripts/ifcfg-eth1
soubor bez „HWADDR“ a „UUID“:
DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=noBOOTPROTOCOL=noneIPADDR=192.168.100.140NETMASK=255.255.255.0NETWORK=192.168.100.0BROADCAST05.01>.2
EL 6.x /etc/sysconfig/network-scripts/route-eth1
soubor:
192.168.100.0/24 dev eth1 table mgmtdefault přes 192.168.100.1 dev eth1 table mgmt
EL 6.x /etc/sysconfig/network-scripts/rule-eth1
soubor:
od 192.168.100.0/24 vyhledávací mgmt
Výsledek IP route show
na EL 6.x:
192.168.100.0/24 dev eth1 proto odkaz rozsahu jádra src 192.168.100.16010.10.10.0/24 dev eth0 proto odkaz rozsahu jádra src 10.10.10.160default Aktualizace pro RHEL8
Tato metoda popsaná výše funguje s RHEL 6 a RHEL 7 i s jejich deriváty, ale pro RHEL 8 a odvozeniny je třeba nejprve nainstalovat network-scripts
použít metodu popsanou výše.
dnf install network-scripts
Instalace vytvoří varování, že síťové skripty
bude odstraněn v jednom z příštích hlavních vydání RHEL a NetworkManager poskytuje ifup
/ifdown
také skripty.
Aktualizace pro Ubuntu 20.04 LTS
Vytvoření pojmenované směrovací tabulky je v pořádku, ale není vyžadováno s netplan
, který název stejně nebude používat. Nicméně číslo pojmenované směrovací tabulky z rt_tables
soubor lze použít pro netplan
. Odpovídající síťové karty jsou enps03
(eth0
) a enp0s8
(eth1
).
síť:verze:2 ethernety:enp0s3:adresy:- 10.10.10.140/24 dhcp4:false dhcp6:falešná brána4:10.10.10.1 jmenné servery:adresy:- 1.2.3.4 - 1.2.5 hledání -3. -search-domain-name.com enp0s8:dhcp4:false dhcp6:false address:- 192.168.100.140/24 routes:- to:192.168.100.0/24 via:192.168.100.0/24 through:192.168.100.0.1 from routing-policy:6 Tabulka .100.0/24:252
Výsledkem jsou následující cesty z ip r s
.
výchozí přes 10.10.10.1 dev enp0s3 proto static10.10.10.0/24 dev enp0s3 proto kernel scope link src 10.10.10.140192.168.100.0/24 dev enp0s8 s2code64 link scope0.019.>
Centos – Používáte Awesome Window Manager na Centos 7?
Centos – Po instalaci Centos 7 chybí možnost spouštění systému Windows. Jak ji mohu získat zpět?
Cent OS