Po moje preveč komplicirate. To bi se dadalo lepo rešiti z iptables. Najprej klasični destination NAT na pravi interni IP:

iptables -t nat -A PREROUTING -i ppp0 -d <eksterni_ip_mašine> -j DNAT --to <interni_ip_mašine>

Potem pa še v postrouting daš pravilo, da spremeni source IP paketom, ki pridejo s te mašine na pravi ip:

iptables -t nat -A POSTROUTING -o eth1 -s <interni_ip_mašine> -j SNAT --to <eksterni_ip_mašine>

Tu je predpostavljeno, da je pppoe device na ppp0 in lokalna mreža priklopljena na eth1. Ta pravila so zelo spošna in spustita ves promet na interno mašino, kar v praksi ni ravno dobra ideja. Dodati je še treba ustrezna pravila za FORWARD tabelo, da bo GW spustil promet skozi.

Drugače pa podobno konfiguracijo uporabljam tudi sam, le da ne rabim SNAT-a in mi je dovolj MASQUERADE.

Lp, Tomaz

Matej Žerovnik wrote:
Metod Kozelj pravi:
Howdy!

Matej Žerovnik wrote:
Imam poslovni ADSL paket in kot takemu mi pripada 10 zunanjih ipjev. Imam pa na lokalni mreži en PC, za katerega želim, da je od zunaj dostopen preko externega IPja. Seveda pa mora podatke tudi oddajati preko istega IPja.
Če je GW, ki je med divjino in tvojim LANom, kolikor toliko konfigurabilen, potem narediš naslednje:
- strežnik, ki naj bi bil dostopen preko eksternega IPja, naj ta IP res ima
- strežniku nastaviš ruto za tvoj lokalni LAN (192.168.x.0), tako da bo lokalnim mašinam lahko promet pošiljal direktno, pa tudi da bo privzeta ruta (glej naslednjo točko) delovala
- strežniku nastaviš privzeto ruto na notranji IP tvojega GW (192.168.x.1)
- na GW nastaviš ruto, ki pove, da promet, poslan na dotični eksterni IP (od znotraj ali zunaj), konča znotraj tvojega LANa

V tem primeru bo promet od tvojih 'notranjih' mašin do strežnika z eksternim IPjem tekel preko GW, v drugi smeri pa neposredno. Če je 'notranjih' mašin malo, lahko na teh mašinah nastaviš še statično ruto za strežnik z eksternim IPjem. To je kajpada odvisno od števila 'notranih' mašin in od količine prometa, ki teče med njimi in strežnikom (da se izogneš obremenjevanju GW).

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

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?

lp, Matej
_______________________________________________
lugos-list mailing list
lugos-list@lugos.si
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list
_______________________________________________
lugos-list mailing list
lugos-list@lugos.si
http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list

Одговори путем е-поште