» »

3 mrežne, CC, port forwarding

3 mrežne, CC, port forwarding

jezo22 ::

Postavljen ima linux strežnik z distribucijo ClarckConnect 3.2.
Enako vprašanje sem postavil tudi na CC forumu, a zankrat še ni odgovora :( (http://www.clarkconnect.com/forums/show...

Bom kar tukaj poskusil prevesti to, kar sem zapisal tam in upam na kako dobro idejo, kako zadevo rešiti. Verjetno ni kriva sama distribucija, ampak narobe nastavljeno pravilo v iptables... :\

---------------

Najprej diagram omrežja:
[code]
INTERNET INTERNET
194.152.15.x 193.77.156.x
| |
| eth0 |
| |
| ---------- | eth2 - 192.168.0.3 | ------------- |
| CC 3.2 | ------------------------ | router |
| ---------- | | ------------- |
| |
| eth1 |
| 10.0.0.1 | ------------- |
| | computer where|
| ---------- | | I'm sitting |
| switch | | right now |
| with some | | 192.168.0.9 |
| users | | ------------- |
| ---------- |
[code]

V primeru, da se ne vidi kaj sem hotel narisati, si lahko pogledate gif ( slika).

Kot lahko vidite imam dve internetni povezavi. (celoten ip naslov sem zakril z x znakom zaradi varnosti).

Na CC strežniku imam zagnan web strežnik in če odprem port 80 v nadzorni plošči CC-ja Network->Firewall->Incoming zadeva deluje, če vpišem 194.152.15.x v brskljalnik...no v bistvu ne, ker triera blokira porte nižje od 1024, ampak to zdaj ni pomembno.

Sedaj hočem narediti enako zadevo z drugo internetno povezavo.
Podrobneje, kar hočem:
- od kjerkoli na internetu napišem naslov 193.77.156.x
- paketi gredo do router-ja
- router forwardira vse kar pride na port 80 na naslov 192.168.0.3
- povezava se vzpostavi

Problem je v tem, da zadeva pač ne deluje :).

Nadzorna plošča na portu :81 (web nadzorna plošča) vedno doda pravila (rule) za mrežno kartico eth0, tako da si kaj dosti s tem ne morem pomagati.
Poskusil sem se igrati z iptables pravili v datoteki /etc/rc.d/rc.firewall.local (ki se avtomatsko zažene skupaj z požarnim zidom)
----------------------------------------------------------------------------
IPTABLES=/sbin/iptables

$IPTABLES -A INPUT -d 193.77.156.x -i eth2 -p tcp -m tcp --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -s 193.77.156.x -o eth2 -p tcp -m tcp --sport 80 -j ACCEPT
----------------------------------------------------------------------------
Seveda bom kasneje (ko bom končal testiranje) umaknil -d 193.77.156.x tako da bo vsaki lahko dostopal do porta 80.

V bistvu sploh nevem, če je to vse kar moram dodati.
Sem pa skoraj 100% prepričan, da je z konfiguracijo routerja (ki mora samo forwardirati port 80 na 192.168.0.3) vse vredu.

CC ima na nadzorni plošči tudi Network->Setting->Network tools->Connection monitor, kjer lahko spremljaš kaj se dogaja. Vedno ko poskusim odpreti 193.77.156.x v brskljalniku, dobim:

Protocol Expires Source Destination Status Port Service
TCP 00:00:00.38 193.77.156.x 192.168.0.3 SYN_RECV 1691->80 HTTP

Izgleda, kot da se povezava zatakne pri SYN_RECV statusu.
Če dostopam do webserverja preko lokalne mreže (moj računalnik (192.168.0.9) -> 192.168.0.3) je pa status ESTABLISHED.

Kakršnakoli ideja bi bile zelo dobrodošla.
Hvala !
  • spremenil: jezo22 ()

hitcher ::

Zlo na hitro, glede na slikco te "heca" ip naslavljanje in sicer:

eth2 192.168.0.3

ter ip naslovi:
compt. where i sitting right now: 192.168.0.9

spremeni si nekaj od teh dveh, pa bi moralo biti ok.

lp

jezo22 ::

Hmmm...
Zakaj bi imel narobe nastavljene ip-je ?

Tu imam v bistvu dve ločeni mreži.
10.0.0.0 in 192.168.0.0

Računalniki se med mrežama ne vidijo, ker med eth1 in eth2 ni narejen most.
To je v bistvu čisto vredu, saj tega nočem.

Hočem samo, da se iz katerekoli izmed mrež lahko dostop do web serveja, ki je na CC strežniku...
enkrat preko 192.168.0.3, drugič preko 10.0.0.1 ... kar deluje...
potem pa navzen preko interneta na ip-jih 194.152.15.x in 193.77.156.x.

miki133 ::

Problem imaš , ker do serverja ne dostopaš z javnim IP naslovom temveč z
IP naslovom od routerja (verjetno 192.168.0.1) .
Pravilo bi moralo izgledati nekako takole:
$IPTABLES -A INPUT -d 192.168.0.1 -i eth2 -p tcp -m tcp --dport 80 -j ACCEPT
$IPTABLES -A OUTPUT -s 192.168.0.1 -o eth2 -p tcp -m tcp --sport 80 -j ACCEPT

jezo22 ::

@ miki133:
Ampak zakaj potem kaže v tistem Network tools->Connection monitor kaže da je paket prišel iz računalnika na katerm si dejansko v browserju napisal ip 193.77.156.x ?
Pomoje router kar poskrbi za to, da se z ip-jem ki je prišeč iz internta forwardira tudi naprej...se na CC box-u vidi kot zunanji ip in ne kot 192.168.0.1.

No, za ziher sem sprobal dodati tole pravilo, kot si ga napisal ti,
pa žal ni učinka.

miki133 ::

Morda sem narobe razmišljal , da router dela NAT , če do serverja prideš iz javnega IP
mu moraš nastaviti routo nazaj na vmesnik s katerega je prišel :) , ker je verjetno default
routa na serverju nastavljena na vmesnik od triere .
Morda bo pomagal tole če vpišeš c CC:
route add -net 193.77.156.x netmask 255.255.255.255 gw 192.168.0.3 dev eth2

jezo22 ::

Bravo miki133 !! :D
Točno to je problem. Glede firewalla je vse vredu in vse štima, problem je v routanju.

Zadeva sedaj deluje, če mu dodam recimo
route add -net 193.77.156.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth2
(razumem to prav, da bo vse pakete namenjene za katerikoli ip 193.77.156.xxx poslal na vmesnik eth2 proti mojemu router-ju ki je na 192.168.0.1 ?? :\ ... oziroma bi ga lahko naredil za samo moj ip, kot v primeru kot si ga dal ti)

Super...zdaj je to vse ql za testiranje, saj rabim samo za moj ip.
Kako pa bom kasneje naredil tale route za vse ip-je z interneta, ki dostopajo preko 193.77.156.x:80 ? :D

Kako pravilo v smislu
route add -net 193.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth2
je verjetno glupo, pa še vseh ip-jev ne pokrije...

sem sprobal z
route add default gw 192.168.0.1 dev eth2, ampak mi potem vse pakete (tudi tiste ki pridejo z eth1 in bi morali iti na triero) pošiljat na 192.168.0.1

Hvala še enkrat za pomoč !!

No pa še original route tabela, če bo kaj pomagala:
Destination Gateway Genmask Flags Metric Ref Use Iface
194.152.15.0 * 255.255.255.0 U 0 0 0 eth0
10.0.0.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth2
default 194.152.15.1 0.0.0.0 UG 0 0 0 eth0

jezo22 ::

V bistvu, če poenostavim zadevo...

za vse "poizvedbe", ki jih dobi preko eth2, mora potem tudi "odgovore" poslati nazaja po eth2 proti 192.168.0.1

Hmmm....kako pa zdaj to spraviti v route pravila ? :D

miki133 ::

To pa ni več tako enostavno :D
Tule si lahko nekaj tega prebereš :
http://linux-ip.net/html/adv-multi-inte...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

ubuntu + network sharing

Oddelek: Pomoč in nasveti
221173 (1037) NeMeTko
»

Linux CC kot router... problem

Oddelek: Operacijski sistemi
141653 (1405) kitarist
»

iptables + forward

Oddelek: Operacijski sistemi
332250 (1825) tx-z
»

Win2k in problem z dvema LAN karticama na enem PCju

Oddelek: Operacijski sistemi
121439 (1325) darkolord
»

Problem z dostop do neta z linux boxa preko winXP boxa - gateway

Oddelek: Pomoč in nasveti
91577 (1472) Skrat

Več podobnih tem