Virtuálne sieťové rozhrania v iptables

Jan Marek jmarek na jcu.cz
Pondělí Listopad 21 08:47:42 CET 2016


Dobrý den,

(po přečtení předchozí komunikace)

měl jsem udělané to, že (na jedné switchované síti) jsem měl GW,
linux a klienty takto:

GW: 192.168.0.1/24

Linux: 192.168.0.2/24, 192.168.1.1/24

všichni klienti měli nastaveno 192.168.1.x/24, na routeru byla
nastavena routa, že síť 192.168.1.0/24 zpracovává adresa
192.168.0.2.

To bylo moje řešení.

Pokud byste potřeboval rozlišovat, které klienty pustíte přímo na
bránu a které chcete filtrovat přes Linux, stačí jedněm nastavit
adresu z rozsahu 192.168.0.x/24 a druhým 192.168.1.x/24.

Uznávám ale, že to není kdovíjak hitech a kdokoliv, kdo umí
použít sniffer, je schopen si pohrát s nastavením sítě. To už by
se pak muselo ještě nastavit na routeru, které MAC adresy můžou
přímo (tj. můžou mít adresu z ranku 192.168.0.x/24) a které ne.

Pokud bych chtěl přísně opravdu všechny filtrovat přes ten linux
(kvůli hloupému routeru např.), tak by to šlo udělat tak, že by
se do serveru dala extra karta, s routerem se spojila přímo
kabelem a odpadlo by switchování dvou sítí na jednom bridgi.

Snad to bude srozumitelné.

Zdraví
Jan Marek

On Sat, Nov 19, 2016 at 02:52:20PM +0100, Róbert Čerňanský wrote:
> Zdravím,
> 
> potrebujem z jednej fyzickej sieťovky (eth0) spraviť ako keby dve a
> tieto potom rozlišovať v iptables.  Je to vnútorná sieťovka na routeri.
> Ten sa používa sa ako brána do internetu a ja práve potrebujem
> rozlišovať pakety smerujúce do internetu.
> 
> Čiže klient by mohol mať nastavený ako default gw 192.168.1.1 alebo
> 192.168.1.2.  Obidve adresy by išli fyzicky na eth0 a v iptables by som
> chcel rozlíšiť na ktorú z tých dvoch IP to od klienta prišlo.
> 
> Skúšal som fyzickej sieťovke priradiť ďalšiu IP adresu, ale to
> nepomohlo, pretože ak ide o gateway traffic, tak cieľová IP adresa,
> ktorá príde od klienta je adresa do internetu, nie adresa GW.
> 
> Potom som skúsil vytvoriť virtuálnu sieťovku - label:
> 
>   ip addr add ... label eth0:1
> 
> No iptables mi neboli schopné zachytiť interface eth0:1; videli len, že
> všetko prichádza na eth0.  Čiže pravidlo, kde bolo -i eth0:1 nikdy
> nematchlo.
> 
> Podobne mi to nefungovalo ani s virtuálnymi rozhraniami typu veth.
> Vytvoril som pár:
> 
>   ip link add veth0 type veth peer name veth1
> 
> veth0 som dal do bridge s eth0, ktorému som dal IP 192.168.1.1.  veth1
> som nakonfiguroval na 192.168.1.2.  iptables opäť videli, ako keby
> všetko prichádzalo na br0, napriek tomu, že som posielal pakety priamo
> na 192.168.1.2.  Skúšal som to v PREROUTING-u tabuľky nat.  Teda napr.
> pravidlo:
> 
>   iptables -A -t nat -A PREROUTING -m limit --limit 500/h \
>     --limit-burst 60 -j LOG --log-prefix iptables_prerouting_log:
> 
> mi v logu ukázalo:
> 
>   ... iptables_prerouting_log:IN=br0 OUT= MAC=... SRC=192.168.1.10 DST=192.168.1.2
> 
> Teda aj keď cieľová adresa bola 1.2, tak interface bol br0, nie veth0.
> 
> Je nejako možné zachytiť v iptables virtuálne rozhranie?  Alebo ako
> inak by som mohol v iptables rozlíšiť ktorá z gateway IP-čiek bola
> použitá?
> 
> Róbert
> 
> 
> -- 
> Róbert Čerňanský
> E-mail: openhs na tightmail.com
> Jabber: hs na jabber.sk
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux

-- 
Ing. Jan Marek               | Nez mi poslete prilohu .doc, .xls 
University of South Bohemia  | nebo .ppt, prectete si, prosim,
Academic Computer Centre     | WWW stranku uvedenou na poslednim
Phone: +420-38-9032080       | radku signatury...
http://www.gnu.org/philosophy/no-word-attachments.cs.html


Další informace o konferenci Linux