Strona 1 z 1

[+] udostępnianie połączenia

: 27 grudnia 2008, 17:06
autor: macko
Witam,
straciłem nad tym już sporo czasu, więc decyduje się zapytać.

Moja sytuacja wygląda tak:

A----B----ROUTER

Kod: Zaznacz cały

- A: eth0 ip 10.10.2.2 netmask 255.255.0.0
- B: eth1 ip 192.168.1.13 netmask 255.255.255.0
      eth0 ip 10.10.2.1 netmask 255.255.0.0
- ROUTER: ip 192.168.1.1 netmask 255.255.255.0
Chcę, aby na komputerze A był dostęp do internetu z routera. Jak na razie doszedłem do tego, że na komputerze B trzeba uaktywnić ip_forward, więc wydaję polecenie:

Kod: Zaznacz cały

echo 1 > /proc/sys/net/ipv4/ip_forward
teraz wpisuję na komputerze A:

Kod: Zaznacz cały

route add -net 192.168.1.0 netmask 255.255.0.0 gw 192.168.1.13
i poza tym, że dochodzą mi pingi na 192.168.1.13 to nic się nie zmienia.

Domyślam się, że muszę wpisać route na B, ale nie mam pojęcia co.

Z góry dziękuję.
macko

: 28 grudnia 2008, 19:55
autor: grzesiek
'A' nie może dostawać Internetu od ROUTERa bo ich dzieli B i on musi w tym pośredniczyć, jak by nie było. W B musisz dodać przekazywanie pakietów:

Kod: Zaznacz cały

iptables -A FORWARD -i eth1 -o eth0 -s 0/0 -d 10.10.2.0/255.255.255.0 -j ACCEPT
i teraz jak pakiety będą wysyłane w świat to B musi je nadpisać swoimi danymi bo inaczej ROUTER ich nie skojarzy:

Kod: Zaznacz cały

iptables -t nat  -A POSTROUTING -s 10.10.2.0/255.255.255.0 -d 0/0 -j  MASQUERADE

: 29 grudnia 2008, 00:39
autor: macko
Poczytałem też trochę i myślę, że pierwsza linijka do samego działania jest zbędna:

Kod: Zaznacz cały

iptables -A FORWARD -i eth1 -o eth0 -s 0/0 -d 10.10.2.0/255.255.255.0 -j ACCEPT
bo w sumie działa i bez, a gdzie ma przekazywać to wie z wpisu w route, który dodaje się sam po ustawieniu karty.

Ale dziękuję :) Działa!