Strona 1 z 2

[+] Udostępnianiem internetu przez wifi

: 13 lipca 2012, 13:52
autor: jacetyh
Witam.

Schemat mojej sieci jest w tym momencie prosty i z racji na brak działającej konfiguracji oczywisty:

Internet <---> ruter <---> Denian (serwer) <---> użytkownicy - taki jest zamysł, ostatecznie żeby pozbyć się i rutera.
<---> użytkownicy - chwilowa rzeczywistość

Problem polega na tym że jako "użytkownik" po podłączeniu się do serwera przez wifi, otrzymaniu adresu IP, nie mam połączenia z internetem. Wszystko działa w mojej podsieci ustawionej za wifi, niestety nie mogę nawet wysłać sygnału ping do rutera albo interfejsu wan na serwerze.

Moja obecna konfiguracja:

Kod: Zaznacz cały

cat /etc/network/interfaces
auto lo eth0 wlan0
iface lo inet loopback
        allow-hotplug eth0

iface eth0 inet dhcp
        gateway 192.168.1.0

iface wlan0 inet static
        gateway 192.168.5.1
        address 192.168.5.1
        netmask 255.255.255.0
        broadcast 192.168.5.255
        network 192.168.5.0

Kod: Zaznacz cały

cat /etc/dhcp/dhcpd.conf
option routers 192.168.0.1;
authoritative;
ddns-update-style interim;
subnet 192.168.5.0
 netmask 255.255.255.0
        {
        option routers 192.168.0.1;
        ddns-updates off;
        range 192.168.5.10 192.168.5.25;
        default-lease-time 259200;
        max-lease-time 518400;
        }

Kod: Zaznacz cały

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Kod: Zaznacz cały

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

I niech mi ktoś powie o co chodzi, ja nie jestem sieciowcem, szukam rozwiązania do swojego domu.

: 14 lipca 2012, 08:48
autor: Bastian
No z taką tablicą rutingu i ustawiniami iptables to działać nie może.

Zapoznaj się z np. tą lekturą:

http://night.jogger.pl/2007/10/14/mala- ... tem-linux/

: 14 lipca 2012, 10:06
autor: marcin w
Cześć.

Właśnie u siebie uruchomiłem ruter na Linuksie z zarządzaniem pasmem dla użytkowników. Korzystałem z gotowych pakietów i skryptów ze strony http://www.inet.one.pl/

Sama konfiguracja interfejsów sieciowych według lektury dostępnej na http://night.jogger.pl/2007/10/14/mala- ... tem-linux/

Wszystko działa poprawnie, już wcześniej korzystałem z tych gotowców jednak na innym dystrybucjach. Teraz na nowym sprzęcie przetestuję najnowsze wydanie skryptów.

: 16 lipca 2012, 10:14
autor: jacetyh
Dziękuję. Zakładam, że po ponownej konfiguracji będzie działać.

Kolejne pytanie, jak sprawdzić nie będąc w domu czy wszystko jest działa poprawnie? Bo nie mogę się podłączyć do końcowej maszyny w danym momencie. Znalazłem:

Kod: Zaznacz cały

ping  -I
ale nie wiem, czy będzie dawać mi zamierzony rezultat (mam jeszcze dodatkowy interfejs, który mogę podpiąć pod sieć wifi).

Na urządzeniach typu ,,juniper'', czy ,,checkpoint'' jest coś takiego jak ,,ping source'' ale w Debianie nie widziałem czegoś takiego.

: 16 lipca 2012, 11:44
autor: Cyphermen
Nie wiem czy gafy nie strzelę, ale dlaczego w dhcp.conf masz adres rutera z innej podsieci, a rangę z innej? Zapewne jest to połowiczny problem gdyż po drugie, brakuje translacji adresów dla klientów.

: 17 lipca 2012, 11:46
autor: Pacek
No i pamiętaj o jeszcze jednym banale - standardowo w Debianie wyłączona jest możliwość przekierowania (forwardowania) pakietów. Możesz to sprawdzić poprzez wykonanie polecenia:

Kod: Zaznacz cały

cat /proc/sys/net/ipv4/ip_forward

Jeżeli odpowiedź to "0", to masz wyłączone przekierowanie i pomimo Twoich konfiguracji, nerwów, stawania na głowie, udostępnianie łącza nie będzie działać.

Jeżeli to co napisałem powyżej ma miejsce u Ciebie, to zanim zaczniesz "demolować" swoje konfigi (ich poprawności nie sprawdzałem, wybacz), najpierw zrób:

Kod: Zaznacz cały

echo 1 > /proc/sys/net/ipv4/ip_forward
Dopiero jak jest włączone przekazywanie pakietów, zacznij walkę z udostępnianiem łącza.

: 17 lipca 2012, 13:34
autor: jacetyh
Udało się, wszystko działa (muszę kopie zapasowe porobić), zmieniłem reguły firewalla, dodałem DNS-y ręcznie, zmieniłem bramę domyślną.

Kod: Zaznacz cały

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

#iptables -t nat -A POSTROUTING -s 192.168.5.0/24 -j MASQUERADE

iptables --table nat --append POSTROUTING --out-interface wlan0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth0 -j ACCEPT

Kod: Zaznacz cały

cat /etc/dhcp/dhcpd.conf
#option routers 192.168.0.1;
authoritative;
ddns-update-style interim;
subnet 192.168.5.0
netmask 255.255.255.0
        {
        option domain-name-servers 95.160.170.92, 82.139.8.40;
        option routers 192.168.5.1;
        ddns-updates off;
        range 192.168.5.10 192.168.5.25;
        default-lease-time 259200;
        max-lease-time 518400;
        option subnet-mask 255.255.255.0;
        }

Teraz mogę spokojnie zająć się kolejną rzeczą, która mnie zastanawia.

Podczas gdy chcę zobaczyć co mój system robi:

Kod: Zaznacz cały

dmesg
widzę cały czas wpis:

Kod: Zaznacz cały

[21743.744460] r8169 0000:02:00.0: PME# enabled
[21743.776145] r8169 0000:02:00.0: PME# disabled
[21743.783103] r8169 0000:02:00.0: eth0: link down
[21743.814507] r8169 0000:02:00.0: eth0: link down
[21745.503473] r8169 0000:02:00.0: eth0: link up
[21769.126880] r8169 0000:02:00.0: eth0: link down
[21770.721079] r8169 0000:02:00.0: eth0: link up
[21790.636896] r8169 0000:02:00.0: eth0: link down
[21792.216233] r8169 0000:02:00.0: eth0: link up
[21792.914464] r8169 0000:02:00.0: eth0: link down
[21794.575530] r8169 0000:02:00.0: eth0: link up
[21812.355798] r8169 0000:02:00.0: eth0: link down
[21813.984020] r8169 0000:02:00.0: eth0: link up

Czy ktoś ma jakiś pomysł? Z tego co wyczytałem potrzebuje mieć paczkę firmware-realtek, ale po zainstalowaniu tej paczki karta sieciowa eth0 przestaje odpowiadać.

: 17 lipca 2012, 20:10
autor: Bastian
Ale wszystko działa poprawnie, pomimo powyższych komunikatów?

: 17 lipca 2012, 20:45
autor: jacetyh
Działa, poprawnie nie z racji, że faktycznie rozłącza. Jeśli ktoś przegląda strony to jest poprawnie ale mi nawet ssh przycina.


Edycja:
Problem rozwiązany. Wystarczyło nowsze sterowniki załadować. Teraz wszystko gra i buczy.

: 18 lipca 2012, 07:53
autor: Cyphermen
Czyli tak na prawdę musiałeś zrobić to o czym mówiłem tak? Piwo proszę :)