Witajcie. Od pewnego czasu zostałam ”zmuszona” do używania Debiana 7.7 Wcześniej używałam tylko i wyłącznie Windowsa XP. Mam problem we właściwym skonfigurowaniu sieci. Otóż łączę się z internetem za pomocą modemu Huawei. Chciałabym udostępnić to połączenie internetowe dla np. eth0 lub eth1 i dalej przez port WAN do routera. Dodam, że na routerze mam dd-wrt.
Moje interfejsy sieciowe:
Intel 82801EB – eth0
Realtek RTL-8139 - eth1
Modem HUAWEI – eth2
Atheros AR2417 – wlan0
Ralink RT2561 – wlan1
Łączę się z internetem za pomocą eth2. Eth2 ma na stałe ustawione następujące parametry, których nie można zmienić:
Adres IP modemu: 192.168.1.1
Adres IP komputera: 192.168.1.100
Maska podsieci: 255.255.255.0
Domyślna trasa: 192.168.1.1
DNS: 192.168.1.1
Na Windowsie mogłam ”wyklikać” to w kilka minut a tutaj to już nie takie proste. W Linuksie dzieją się cuda, np. gdy podłączam router przez LAN to przestaje działać modem. Po zmianie IP routera i uzyskaniu połączenia nie mogę wywołać go przez przeglądarkę. Masakra… Pomożecie? Co i jak dokładnie skonfigurować? Martyna
Konfiguracja udostepniania sieci jest prostsza, niż w Windows. Pierwsza rzecz, nie mozesz mieć dwóch interfejsów w tej samej sieci, tu już masz błąd. Jeśli od ISP masz prywatne IP, to wystarczy tylko włączyć przekazywanie pakietów. Przydałyby się jakieś konkretne informacje. Konfigurujesz sieć network managerem (GUI) czy z linii poleceń (twrminal)? Podaj również wyniki poniższych poleceń z terminala.
Teraz już jest jasniejsza sytuacja. Na eth0 przypisujesz adres z podsieci, np. 192.168.2.0/24, czyli 192.168.2.1 maska 255.255.255.0 bramy nie podajesz. Włączasz przekazywanie pakietów - w pliku /etc/systcl.conf usuwasz kratke (#) przy linijce net.ipv4.ip_forward=1 i wykonujesz polecenie sysctl -p. Jeśli wszystko zrobisz dobrze, pakiety powinny przechodzić.
Teraz podpinasz router. Jeśli router ma działać jako router podpinasz kabel pod port WAN i ustawiasz statyczne IP, 192.168.2.2 maska 255.255.255.0 brama 192.168.2.1. Sam router po stronie LAN musi być w innej podsieci, np. 192.168.3.0/24. Jeśli router ma działać jako przełącznik, to podpinasz pod port LAN a na komputerze dla eth0 pobierasz IP z serwera DHCP routera.
sysctl.conf edytowałam już wcześniej. Dodatkowo wykonałam coś takiego:
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth2 -j ACCEPT
Po takim zabiegu eth0 stało się “nieobsługiwane” lub “niezarządzane”. Mówiąc w skrócie nie działa i nic nie można w nim zmienić.
Ponadto, gdy wcześniej włączałam komputer to modem samoczynnie łączył się i internetem. Teraz po włączeniu muszę wyjąć go z gniazda USB i włożyć na nowo, żeby się połączył. Czy można w jakiś sposób przywrócić/zresetować wszystkie ustawienia sieciowe, żeby były tak jak tuż po instalacji?
Udało mi się wskrzesić eth0 jednak pojawił się inny problem. eth0 ustawiłam na statyczne IP: 192.168.2.1 maska: 255.255.255.0 WAN w routerze ustawiłam na IP: 192.168.2.2 maska: 255.255.255.0 brama: 192.168.2.1
Jednak, gdy LAN w routerze ustawię na IP: 192.168.3.1 maska 255.255.255.0 to po zapisaniu ustawień nie mogę połączyć się z routerem poprzez przeglądarkę. Łączę się wtedy za pomocą eth1, która ma ustawione przypisywanie IP przez DHCP routera. Niby połączenie jest, niby adres również jest przydzielony, jednak router nie odpowiada po wpisaniu jego IP w pasku adresy przeglądarki. Jakieś pomysły?
Jeśli od ISP dostajesz prywatne IP, to nie musisz korzystać z NAT w IPTables.
Kierowałem się tym co podałaś. Zamiast eth2 powinnaś mieć w ifconfig połączenie ppp0. Nie napisałaś też w jaki sposób konfigurujesz sieć. Napisz czy używasz network managera (klikasz), czy konsoli (edytujesz pliki lub wykonujesz polecenia). Wtedy będę mógł Cię dokładniej poinstruować.
Brakuje Ci tras w tablicy routing, ale tym zajmiemy się później, bo teraz to jest najmniej istotny problem.
Nie mam prywatnego IP. Do każdej sesji otrzymuję nowe. Łączę się z internetem za pośrednictwem modemu LTE Huawei E3272. Zarówno Windows jak i Linux instaluje owe urządzenie jako zwykłą, przewodową kartę sieciową. Dlatego właśnie jest eth2 a nie ppp0. Można wejść do ustawień tego modemu za pośrednictwem przeglądarki, wpisując jego IP - tak samo jak w przypadku routera. Jednak jest tam bardzo mało opcji do skonfigurowania. Nie można zmienić wewnętrznego IP urządzenia, które jest ustawione na 192.168.1.1 ani przypisać stałe IP dla komputera. Modem przydziela adres z przedziału 192.168.1.100-199
Staram się używać konsoli i samej edytować pliki konfiguracyjne. Jednak jak już wcześniej napisałam - przygodę z Linuksem zaczęłam niedawno, więc wiele rzeczy jest jeszcze dla mnie niezrozumiałych.
Dodatkowo, gdy próbuję zrestartować sieć to otrzymuję taki komunikat:
root@FUJITSU-PC:~# /etc/init.d/networking restart
[warn] Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces ... (warning).
[....] Reconfiguring network interfaces.../sbin/ifdown: line 22: id: nie znaleziono polecenia
/sbin/ifdown: line 24: basename: nie znaleziono polecenia
: you must be root to run this command.
/sbin/ifup: line 22: id: nie znaleziono polecenia
/sbin/ifup: line 24: basename: nie znaleziono polecenia
: you must be root to run this command.
failed.
Czyli modem wykonuje NAT, w takim razie grzebanie w iptables jest zbędne.
Miło, ale jeśli masz zainstalowane środowisko graficzne, to korzystaj z graficznego manadżera połączeń. Z plików korzysta się głównie na serwerach, gdzie nie instaluje się graficznego pulpitu. Poza tym, konfiguracja plików wydłuży start systemu. Możesz śmiało wyklikać to sobie w menedżerze sieci (Network Manager). Poniżej przykład.
Bo tych poleceń nie używa się w pliku konfiguracyjnym sieci. Te polecenia służa, np. do przeładowania konfiguracji określonego interfejsu.
Z rozmowy na PW wywnioskowałem, że chcesz mieć router z DD-WRT w tej samej podsieci co połączenie udostępnianie. W takim razie routerowi z DD-WRT przypisz adres IP 192.168.2.254 maska 255.255.255.0. Na Debianie interfejsowi eth0 przpis statyczny adres IP 192.168.2.1 maska 255.255.255.0, bramy nie ustawiasz. Na routerze w ustawieniach DNS przypisz pulę adresów od 192.168.2.2 do 192.168.2.253 i jako bramę wskaż 192.168.2.1. Na Debianie w pliku /etc/sysctl.conf odkomentuj linijkę, tj. usuń # przed linijką net.ipv4.ip_forward=1. Następnie wykonaj polecenie sysctl -p lub w najgorszym przypadku uruchom ponownie system.
Zobacz czy przechodzą pakiety ICMP pomiędzy Debianem, a routerem. Sprawdzić to poleceniem ping na Debianie.
ping -c 4 192.168.2.254
Jeśli przechodzą, to jest okej. Podłącz jakiś komputer do routera i zobacz czy przechodzą pakiety ICMP do Debiania poleceniem ping na tym komputerze.
ping 192.168.2.1
Jeśli tak, to zobacz czy masz wyjście do internetu.
ping 8.8.8.8
Jeśli tak, to wszystko jest prawidłowo skonfigurowane. Jeśli nie, pokaż wyniki poniższych poleceń.
root@FUJITSU-PC:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth2
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
I znowu po zmianie IP routera nie mogę się połączyć z jego panelem administracyjnym. Nawet nie pinguje. Pomyślałam, że może z routerem jest coś nie tak. Wyciągnęłam z szafy jakiś stary router i spróbowałam zrobić dokładnie tak samo. Niestety bez zmian.
Nie mozesz mieć eth0 i eth1 w tej samej podsieci. Zapomniałem dodać, że kabelek sieciowy podłączasz z jednej strony do eth0, a z drugiej do portu LAN w routerze, nie do portu WAN. Z dostępem do panelu w takim układzie nie powinno być żadnego problemu.