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!
- 1359 megtekintés
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)
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
É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.
- A hozzászóláshoz be kell jelentkezni
+1 Akkor minek 2 hálókártya?
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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?
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni