[LUGOS] Routing externega IPja na PC znotraj mreže

Matej Žerovnik levak at element.planetq.org
Wed Aug 6 11:59:08 CEST 2008


Metod Kozelj pravi:
> Howdy!
>
> Lahko naredi štako, kot je predlagal Tomaž. Z mojim receptom pa ...
>
>   
>> Za GW služi kar Linux.
>>
>> Shema omrežje je nekako takšna:
>> Internet
>>    |
>>    |
>> GW
>>    |
>> ------------------------
>>     |         |         |         |
>> PC1   PC2   PC3   PC4
>>
>> Vse PCji imajo trenutno lokalne IPje, rad bi pa, da bi PC1 deloval kot 
>> da je na istem nivoju kot GW. Kot da ima PC1 svoj modem in svoj IP. 
>> Prometa ni veliko, tako da je vseeno, če ves promet(tudi lokalni) teče 
>> čez GW.
>>
>> Se pravi, če grem po tvojem nasvetu:
>> - strežniku PC1 nastavim zunanji IP(notranjega tudi, ali samo zunanjega?)
>> - pol route add -net 192.168.1.0 netmask 255.255.255.0 eth0
>> - route add default gw 192.168.1.1 eth0
>>   
>>     
>
> Na strežniku PC narediš tako:
>
> ifconfig eth0 <server eksterni IP> netmask 255.255.255.255 up
> route add -net 192.168.1.0 netmask 255.255.255.0 eth0
> route add default gw 192.168.1.1
>
> (pri tem zadnjem po moje ne rabiš pisati imena interfaca, ker bo routing 
> engine sam ugotovil, da je DST IP dostopen preko route na mrežo).
>
> Tale server ima, kajpada, samo eksterni IP, internega pa ne.
>
>   
>> Zadnja točka me malo heca. Kako nastaviti routo na strežniku. Če je adsl 
>> na ppp0 in mreža na eth0, potem more biti destination pri route externi 
>> IP, interface pa eth0?
>>   
>>     
>
> Na GW pa route naštimaš nekako takole:
>
> route add -net 192.168.1.0 netmask 255.255.255.0 eth0
> route add -host <server eksterni IP> netmask 255.255.255.255 eth0
>
> Ruto za povezljivost v internet (torej default gw) bi moral postaviti že 
> pppd.
>
>
> Seveda boš v vsakem primeru (Tomažev ali moj recept) imel vključene 
> iptables s pravili za filtriranje prometa tudi za <server eksterni IP>.
>
>   
Sem naredil tako kot si napisal, ampak sem naletel na manjši problem.

PC1 ima sedaj samo externi IP. Iz GW ga lahko pingam in se nanj 
priklopim. Se pravi, lokalno stvar deluje.

Iz PC1 lahko pingam GW in zunanji svet, vendar gre ves promet preko IPja 
od GW. Se pravi, če ima GW ip 10.0.0.1 in PC1 ip 10.0.0.2 in se jaz 
priklopim na en remote PC, bo tam kazalo, da povezava prihaja iz 
10.0.0.1 in ne .2.
Če iz zunanjega interneta pingam IP od PC1 mi javi TTL expired in 
transit. Paket seveda sploh ne pride do PC1.

Kaj še manjka? Kakšna routa na ppp0, ki pove, da je treba pakete, ki 
priletijo na ppp0 vršt na eth0?

lp, Matej








More information about the lugos-list mailing list