GNU/Linux >> Znalost Linux >  >> Linux

Linux – směrování přes Iptables?

Mám tohoto klienta vpn, který se dotkne směrovací tabulky a poté ji sleduje, aby ji ukončil, pokud se ho dotkne.
Je to druh nastavení potřebný pro koncový bod, jako je notebook.

Chci použít malý počítač jako koncový bod vpn a směrovat přes něj pro další stroje v mé LAN (192.168.0.0/24).
Nemohu se dotknout směrovací tabulky a všechny pakety jsou nuceny přes vpns tun0 zařízení, myslel jsem, že iptables by mi mohl pomoci POSTROUTEing paketů do sítě 192.168.0.0 zpět do zařízení eth1.
Nejsem si však jistý, jak by to fungovalo, protože jakmile ukončí eth1, mělo by to vyřešit IPtoMAC, protože již je v cílové síti a nevím, zda to paket již vyřešil, nebo se to nestane, dokud nedosáhne iface.
Nějaké rady?

Přijatá odpověď:

Protože jste neposkytli více informací, nejsem si jistý, jak nejlépe odpovědět.

Zde je můj pokus dát vám nějaké pokyny, záměrně ignorující, že nemůžete upravit svou směrovací tabulku (pochopíte, proč si přečtete můj návrh):

V závislosti na klientovi VPN a kde připojuje se k FIB (forward information base) jádra, možná budete mít štěstí v tom, že monitorování FIB nebo pomocí vaší směrovací tabulky výrazů pomocí VPN probíhá pouze pro local a main tabulky pravidel. Svá pravidla směrování můžete zkontrolovat pomocí

ip rule show

Pro každý z řetězců za značkou „lookup“ (což jsou položky tabulky pravidel) se můžete dotázat na příslušné směrovací informace z FIB pomocí

ip route show table <name>

S trochou štěstí se můžete pokusit sestavit pravidlo, které odpovídá vašim požadavkům, a dát mu přednost ve vyhledávací tabulce pravidel. Například (vymyslel jsem něco, abych vám dal náskok), pojďme přidat nové pravidlo s vyšší preferencí než main na určité toky:

ip rule add from 192.168.1.0/24 to 10.10.212.1/30 iif eth0 oif eth2 lookup 888 pref 12000
ip rule show
   0:   from all lookup local 
   12000:   from 192.168.1.0/24 to 10.10.212.1/30 iif eth0 oif eth2 lookup 888 
   32766:   from all lookup main 
   32767:   from all lookup default 

Na standardním systému Linux (v případě tohoto příspěvku Ubuntu) byste viděli tři výchozí tabulky pravidel local , main a default , z nichž normálně vidíte pouze main tabulky při vyvolání netstat -rn například.

Nyní chceme naplnit položky FIB ve vyhledávací tabulce 888 novými položkami směrování:

ip route add default via 10.37.129.4 dev eth2 table 888

Podívejme se, jak vypadají naše záznamy o směrování v tabulce 888:

ip route show table 888
  default via 10.37.129.4 dev eth2

Myslím, že chápete. Nyní, s ohledem na vaše konkrétní potřeby směrování, není jasné, čeho přesně se snažíte dosáhnout. Ujistěte se, že jste vyprázdnili mezipaměť směrování, když si pohráváte s tabulkami pravidel:

ip route flush cache

Všimněte si, že pomocí architektury iproute2 můžete v podstatě filtrovat a upravovat prakticky jakýkoli záznam FIB; položky pravidel lze dokonce vytvářet na základě fwmarků a/nebo klasifikátorů u32, jako je následující (příklad převzat z knihy směrování zásad):

tc filter add dev eth1 parent ffff: protocol ip prio 1 u32 
    match ip src 10.1.1.0/24 classid :1
ip rule add fwmark 1 table 1 prio 15000 realms 3/4
ip route add default via 192.168.1.1 table 1 src 192.168.1.254
ip route flush cache

Protože se věci v tabulkách pravidel kazí, před mnoha lety jsem připravil malý úryvek bash, abych vrátil můj systém zpět do původního stavu pravidel směrování:

: ${KEEP:="local main default"}
while read prio rule; do
     continue=0
     for keep in ${KEEP}; do
         if [ "${rule//lookup ${keep}/}" != "${rule}" ]; then
             continue=1
         fi
     done
     if [ ${continue} -eq 0 ]; then
         ip rule del prio ${prio%%:*} ${rule//all/0/0}
     fi
done < <(ip rule show)

Překvapivě se zdá, že po více než 10 letech iproute2 Zdá se, že jen málo lidí stále ví, že existuje vesmír za hranicemi klasického "rozbitého" nástroje jako ifconfig nebo netstat .


Linux
  1. Jak nastavit statickou IP adresu a upravit směrovací tabulku v systému Linux

  2. Linux – Směrovací tabulka „220“ V linuxovém jádře 3.2.0-23-generic?

  3. Linux – X11 přesměrování přes Ssh?

  1. Linuxové IPTables:Příklady příchozích a odchozích pravidel (SSH a HTTP)

  2. Linux IPTables:Jak přidat pravidla brány firewall (s příkladem Allow SSH)

  3. Úvod do linuxových základů směrování IP (část 1)

  1. Linux OS Service „iptables“

  2. Linux:směrování založené na názvech domén

  3. chyba směrování linuxu?