Iptables i komputery z prywatnym IP aby by

Masz problemy z siecią bądź internetem? Zapytaj tu
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Iptables i komputery z prywatnym IP aby były widoczne na zewnątrz

Post autor: ksysinek »

Witajcie.
Ten mroźny piątkowy wieczór postanowiłem spędzić na konfiguracji sieci w domu. Mam łącze internetowe DSL z pulą 8 adresów IP (w tym 5 użytkowych). Zaraz za modemem mam przełącznik, do którego podłączone są dwa komputery z prywatnym IP i ruter z Debianem. Ruter ten przydziela adresy z DHCP i rozprowadza mi Internet dalej przez WiFi. Chciałbym jednak jeszcze za tym ruterem mieć jeden komputer z prywatnym adresem. Adres mojego łącza DSL to 83.1.2.241. Za ruting odpowiada u mnie taki skrypt:

Kod: Zaznacz cały

#!/bin/bash
/sbin/iptables -t nat -F
/sbin/iptables -t filter -F
/sbin/iptables -P FORWARD DROP

/sbin/iptables -t filter -A FORWARD -s 192.168.0.0/255.255.255.0 -d 192.168.0.0/255.255.255.0 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d 192.168.0.0/255.255.255.0 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/255.255.255.0 -d 192.168.0.0/255.255.255.0 -j ACCEPT

/sbin/iptables -t filter -A FORWARD -s 192.168.0.0/255.255.255.0 -d 83.1.2.240/255.255.255.248 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -d 83.1.2.240/255.255.255.248 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -s 192.168.0.0/255.255.255.0 -d 83.1.2.240/255.255.255.248 -j ACCEPT

/sbin/iptables -t filter -A FORWARD -s 83.1.2.240/255.255.255.248 -d 192.168.0.0/255.255.255.0 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 83.1.2.240/255.255.255.248 -d 192.168.0.0/255.255.255.0 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -s 83.1.2.240/255.255.255.248 -d 192.168.0.0/255.255.255.0 -j ACCEPT

# LAPTOP-WIFI
/sbin/iptables -t filter -A FORWARD -s 192.168.0.248 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d 192.168.0.248 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.248 -j MASQUERADE
#NOKIA E51
/sbin/iptables -t filter -A FORWARD -s 192.168.0.246 -j ACCEPT
/sbin/iptables -t filter -A FORWARD -d 192.168.0.246 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.246 -j MASQUERADE

/sbin/iptables -t nat -F MACS
/sbin/iptables -t nat -N MACS
/sbin/iptables -t nat -A MACS -s 192.168.0.248 -m mac --mac-source E8:39 :D F:27:E8:11 -j RETURN
/sbin/iptables -t nat -A MACS -s 192.168.0.246 -m mac --mac-source 00:24:03:F3:34:E8 -j RETURN
/sbin/iptables -t nat -A MACS -j DROP
Czego tu jeszcze brakuje żeby komputery z prywatnym IP były widoczne na zewnątrz?
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Narysuj schemat tej sieci będzie łatwiej udzielić Ci odpowiedzi.
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Post autor: ksysinek »

Oto schematyczny rysunek sieci:

Obrazek

Komputery PC1, PC2 i WLAN 1 działają OK. Natomiast na WLAN 2 i WLAN3 gdzie chcę wykorzystać IP z puli nie ma połączenia. Debian router ma kartę eth0 skonfigurowaną jako 83.1.2.244 i ra0 pracująca w trybie AD-HOC z adresem IP 192.168.0.1
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

O ile dobrze zrozumiałem chcesz sprawić aby adresy z podsieci 192.168.0.0 były widoczne na zewnątrz? To raczej nie jest możliwe chyba że mówimy tu o usługach (portach) które ewentualnie wypuścisz na świat poprzez zewnętrzny adres stosując "forwarding" portów.

Jeśli chodzi o wlan2 i wlan3 obczaj jaką bramę maja wpisaną bo rozumiem ze one w ogóle nie działają? porównaj ich bramę np z pc1.
i albo ustaw im taką samą a jeśli to nie pomoże to może weż pod uwagę to ze wifi działa na podsieci 192.168.0.0 a te wlan'y mają adresy zewnętrzne więc nie mogą się widzieć porostu.

powiem szczerze że strasznie dziwnie wygląda dla mnie ten skrypt i nie wiem do końca czemu taki jest i czy nie dało się tego prościej no ale może się na tyle nie znam.
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Post autor: ksysinek »

Cyphermen nie do końca dobrze mnie zrozumiałeś. Tez jestem tego świadom, ze adresy 192.168.0.1 to wewnętrzne adresy dlatego dwóm komputerom przypisałem adresy z puli. Skonfigurowałem je identycznie jak PC1. WLAN 2 i WLAN 3 mają maskę 255.255.255.248 i bramę 83.1.2.241. Sądzę, że problem tkwi gdzieś na Debian Router dlatego piszę tutaj na forum.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

No to jeśli ich brama to 83.1.2.241 i łączą się po wifi to powiedz mi jak mają dostać się do swojej bramy skoro wifi ma adres 192.168.0.1?

Sprawdź w ogóle czy wlan 2 i 3 widzą cokolwiek w sieci chociażby siebie nawzajem.
Podłącz laptopa wlan2 po kablu do przełącznik tak jak jest połączony pc1 i sprawdź czy będzie działać? Ja myślę ze tak, czekam na odpowiedź.
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Post autor: ksysinek »

Wlan 2 i 3 widzą siebie na wzajem. Nie "widzą" bramy ani nawet 83.1.2.244 czyli karty wyjściowej w Debian Router. Przez to nasuwa mi sie wniosek, że iptables w Debianie jest źle ustawione.

Laptop po kablu działa ale cały sęk w tym, że zrobiłem z Debiana router żeby mieć Internet bezprzewodowo.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Ale Ty dalej nie rozumiesz co ja sugeruję?
Pomyśl, skoro po kablu internet działa to gdzie jest problem? W iptables, czy może w infrastrukturze wifi?
Pomyśl też, czemu wlan 2 i 3 się widzą, a nie widzą reszty? Oba urządzenia są wyposażone w wifi, tak więc zbierają i wysyłają pakiety, dlatego się widzą nawzajem, natomiast Debian ma wifi ale ustawiony jest tam inny adres. Tak więc, wlan 2 i 3 nie są w stanie dotrzeć do 83.1.2.244 ani reszty gdyż to już można powiedzieć inny segment sieci, do którego można się dostać poprzez Debiana.
Skoro Debian nie widzi wlan 2 i 3 to nie ma jak przesłać pakietów z tych wlanów do własnego interfejsu lan i do reszty urządzeń nie mających wifi.
Nasuwa mi się tylko jedno wyjście, które sugerowałem już wcześniej i jeśli ono nie zadziała to powiem szczerze nie wiem co jest nie tak.
Zauważ, że na wlan 1 działa wifi, a czemu? Bo ma adres z tej samej podsieci do wifi Debiana, teraz rozumiesz?

Nie jestem pewny, czy to coś pomoże ale ustaw drugi adres na karcie wifi 192.168.0.10 z maską jaką tam masz w tej podsieci i na firewall przepuść pakiety z i do tego adresu i sprawdź. Zaznaczam nie wiem, czy to pomoże, zresztą pewnie nie bo trzeba by jeszcze bramę zmieniać, a wtedy prawdopodobnie nie będzie widać cie z zewnątrz. No chyba, że na wifi nadasz jakiś adres z tej puli zewnętrznej. Wtedy masz problem z głowy.

Po ustawieniu tego dodatkowego adresu 192.168.0.10 możesz jeszcze na tym komputerze wlan2 wydać polecenie w cmd:

Kod: Zaznacz cały

route add siec_zew/maska via 192.168.0.1
Domyślam się, że id sieci zewnętrznej u Ciebie to 83.1.2.240 ale jeśli się mylę to po prostu wpisz tam poprawne id (tylko nie adres hosta a sieci).
ksysinek
Beginner
Posty: 155
Rejestracja: 14 czerwca 2007, 00:33
Lokalizacja: *Miasto know-how

Post autor: ksysinek »

Wiec tak, dodałem ra0:0 z IP 83.1.2.245 a w skrypcie z iptables dopisałem:

Kod: Zaznacz cały

/sbin/iptables -t filter -A FORWARD -s 83.1.2.240/255.255.255.248 -d 83.1.2.240/255.255.255.248 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 83.1.2.240/255.255.255.248 -d 83.1.2.240/255.255.255.248 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -s 83.1.2.240/255.255.255.248 -d 83.1.2.240/255.255.255.248 -j ACCEPT
I niestety nadal nie przechodzi.
Tej komendy którą podałeś nie wklepię w każdym urządzeniu bo nie są to pecety.
Cyphermen
Beginner
Posty: 426
Rejestracja: 24 maja 2009, 10:56
Lokalizacja: cze-wa

Post autor: Cyphermen »

Ale gdzie wpisałeś ten adres? Miałeś wpisać 192.168.0.10 na wlan2 i przekierować na tych komputerach trasę statyczną.
Dodatkowo domyślam się, że wpisałeś ten adres na Debianie i do tego jest to adres komputera wlan2, a nie miałem tego robić tak.
Przeczytaj raz jeszcze mój poprzedni post i zrób tak jak prosiłem. Powiedz jeszcze, jakie systemy są na tych komputerach, czy to są Windows? W ogóle nie rozumiem też tych wpisów u ciebie w iptables? Wiesz co robisz, czy korzystałeś z jakiegoś poradnika i starałeś się to rozumieć jakoś?

Dodane:
Komputer wlan 2 - adresy 83.1.2.245 i 192.168.0.10 na tym interfejsie wifi
Na Debianie odblokuj ruch z 192.168.0.10 do i z każdego miejsca.
Na komputerze wlan 2 zrób trasę statyczną do sieci 83.1.2.240 przez 192.168.0.1. Na Windowsie jest to:

Kod: Zaznacz cały

route add 83.1.2.240/29 192.168.0.1
I sprawdź czy działa.

Co do tego telefonu, po co ci na nim adres zewnętrzny? Po prostu przydziel mu ip wewnętrzne z puli 192.168.0.0.
ODPOWIEDZ