Hálózatozási egyszerű kérdés

Fórumok

Sziasztok!

Egy kérdésem volna, lehet hogy egyszerű de marha régen iptables-eztem/tűzfalaztam gw-ztem, ezért megkérdezem.

Adott egy debianos gép, két hálókártyával (eth0, eth1), természetesen X nélkül. :)

Terv: A gép gateway-ként működne egy belső háló és egy router között.

/etc/network/interfaces:

iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

a 192.168.1.1 egy router, amin megy a net. OK. Linuxon emiatt van net. Ez egy gateway lesz, ergo másik hálókártya, kettő közé iptables. OK. Másik hálókártya:

iface eth1 inet static
address 192.168.0.3
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255

átjáróként valahogyan viszont az eth0 lenne. Ezt hogy is kell csinálni? Előbb csak transparent proxy lenne, később iptables-es szűrés lenne a dologból.

Valami route add net default gw is rémlik...tudna valaki valami okosat mondani nekem?

Köszi előre is!

Hozzászólások

Én egy ilyen sorra bukkantam abból az időből mikor még a gépem volt a router:


iptables -t nat -A POSTROUTING -o "$PPP_IFACE" -j MASQUERADE

(/etc/ppp/ip-up.d)

Lehetne konkrétabb is ez a fórumtéma. Mondjuk: otthoni gateway iptables+proxy hogyan
Ha az ajánlott címet lefordítod angolra, akkor rengeteg megoldást találsz (Debianost linkelek)

Setting up a simple Debian gateway

-
Debian Squeeze

Hali. Először is szerintem dobj fel a gépre egy DHCP szervert:
apt-get install isc-dhcp-server
mcedit /etc/dhcp/dhcpd.conf
Innen törölj ki mindent, majd írd be az alábbi sorokat.

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.4 192.168.0.200;
option routers 192.168.0.3;
option domain-name-servers 8.8.8.8;
}

Majd parancssorba:
/etc/init.d/isc-dhcp-server restart

Most már megy a dhcp.

Most dobd be az alsó két parancsot és elvileg már működik is:
echo "1" > /proc/sys/net/ipv4/_ipforward
iptables -t nat -A POSTROUTING -j MASQUERADE
az utolsó sort rakd bele pl.: az inittaba mert az iptables minden indításkor üres lesz. Proxy-val annyi a különbség, hogy csak az 53-as tcp/udp portot kell maszkolnod, illetve a 80-as portra érkező kéréseket át kell irányítanod az alapértelmezett 3128-as portra, ez persze a Squid configjában át írható.

Szerk: Ha csak két hálókártyád van, akkor route parancs fölösleges.

Hi,

köszi a hozzászólásokat. A ppp-s hozzászóláshoz, az a rész nem az volt amikor pppoe betárcsázásra használtad? Mint mondtam, azt egy router már elvégzi (1.1), az rész nem csak olyankor kell?

Másik, hogy már dhcp szerver üzemel a hálózat mögött, névfeloldással együtt. Ez a kettő ütközne. Csak átjáró lesz, nem más szerver.

A két hálózat (router kintről és bentről kifele) közé szeretnék egy ilyen "gateway-t" beszúrni. Az internetre csatlakozás tulajdonképpen egy router-re megy, az már csatlakozik. A gépek is csatlakoznak a routerhez, van is net.

Csak a bentről kifelé csomagokat is szeretném szűrni, ill. a router felől érkezőket is.

Így van-e további ötlet, tehát dhcp nélkül, ezekkel a paraméterekkel a legegyszerűbb módon?

Én nem egészen értem amit fel akarsz vázolni topológiát:\

"A két hálózat (router kintről és bentről kifele) közé szeretnék egy ilyen "gateway-t" beszúrni. Az internetre csatlakozás tulajdonképpen egy router-re megy, az már csatlakozik. A gépek is csatlakoznak a routerhez, van is net."

Ebből én ezt látom.
net------router------Debian gw
.................|
.................|
..........többi gép
(a pontok szóközök)
Javíts ki ha tévedek.

Szerintem inkább vmi localnet---debian---router---Internet szerűt szeretne...
Ha így van akkor a 2 hálókártyából 1 bridge a meglevő intraneten, aztán iptables (+ squid -de ez már ízlés dolga). Ha dhcp eddig is volt 192.168.1.0/24-en akkor bridge kapja 192.168.1.2 /csak h távolról is elérd pl ssh-n/, gateway az osszes gepen 192.168.1.1.

ami kell: bridge-utils.
http://wiki.debian.org/BridgeNetworkConnections

Sziasztok!

Sorry kicsit későn reagáltam, de röviden újra akkor ahogy először:

192.168.1.1 - router, internettel, OK
|
192.168.1.2 - debian gw eth0 hálókártyával átjárója a router --> OK (emiatt van debian-on net)
192.168.0.3 - debian gw eth1 hálókártyával többi gép felé (és itt lenne a kérdésem hogy hogy is fogja átdobni a csomagokat, lásd /etc/hosts file)
|
Kliensek 192.168.0.0/24

A gépek dhcp-n a 192.168.0.3-mas ip címet kapnák meg átjáróként és direkt másik subnetre akarnám őket rakni ugyebár (különben tényleg nem kell két hálókártya).

A kérdésem az lenne, hogy ahogy le is írtam, az etc/hosts file nem tudom jó-e, ill. hogy mi is még a teendő hogy nyilván először is mindenki ezzel az átjáró megadással tudjon kifele kommunikálni.

Ezek alapján?

Mivel a debian átjárója a 192.168.1.1, így minden olyan csomagot arra fog továbbítani, ami nem a 192.168.0.0/24 -nek szól.
A /proc/sys/net/ipv4/ip_forward értéke legyen 1, meg lehet hogy kell egy SNAT is.
(iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.1.1)
Nem kell semmi egyéb trükközés, vagy hosts fájl babrálás.

Nem. Ahogy a belinkelt doksiban is van:


# Masquerade.
iptables -t nat -A POSTROUTING -o [értelem szerűen a külső interfész] -j MASQUERADE


# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward

+ tűzfalszabályok

Ja, és talán célszerű lehet mindezt egy "/etc/network/if-up.d" szerűségbe rakni, hiszen ennek akkor kell lefutni mikor feláll a hálókártya, és tudod mi lesz az interfész neve.

Szerk:
Nekem pl a firestarter ide rakja be magát ubuntun:


/etc/network/if-up.d/50firestarter