Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Linuksiarz ze mnie zapalony od lat (jeszcze mi się kopci z kapci), jednak temat sieci dla mnie zawsze był czarną magią. I tak oto stanałem przed ciekawym problemem ostatnio.
Mamy dwa interfejsy: niechaj będzie wlan0 i eth0. Po wlan0 przez dhcp idą parametry od routera, jak wiadomo z pakietami ze internetów :)
Na eth0 podpinam 'router' cyfrowego polsatu(huaweii d105) taki do zabawy (w przyszłości chcę na niego wrzucić openwrt i pohaczyć trochę, może jakiś standalone internet radio player, no będę myślał), puszczam dhclienta i... Cały ruch, zapytania do dns idą po eth0, który nie posiada połączenia z internetami.
W sumie problem więcej niż jednego interfejsu sieciowego zawsze mnie ciekawił, ale jakoś nigdy nie miałem na tyle sprzętu i chęci by to zgłębić.
Co chcę osiągnąć: mieć internet po wlan0 i zabawkę na eth0. Zabawka nie musi mieć dostępu do internetu.
Natknąłem się na polecenia [tt]ip[/tt] i [tt]route[/tt], ale przyznam szczerze że niewiele zrozumiałem z manuala. Ktoś ma chęć by wytłumaczyć mi to łopatologicznie i przyjąć na klatę jeszcze kilka banalnych pytań? xD
Offline
Musisz routing przestawić na wlan0.
W starym route robiło się to tak:
route add default gw {ADRES_ROUTERA} {INTERFEJS}
Albo
ip route add default via {ADRES_ROUTERA} (INTERFEJS)
Wcześniej usuń starą trasę
ip route del default
Poza tym, jak masz dwie trasy na dwa routery, to lepiej zapomnieć o istnieniu dhcp, i ustawić wszystko statycznie w /etc/network/interfaces.
Offline
Okej, rozumiem że to zadziała, ale nie rozumiem za bardzo jak :/. Ahaaa, ustawi mi coś, co w windowsie nazwałbym 'domyślną bramą'?
No a co w przypadku gdy mam dwie rurki z netem? Trzymając się przykładu, pod wlan0 mam domowy net, a po eth0 modem? Jak określić stricte by jedne zapytania szły na jeden interfejs, a pozostałe na drugi? Powiedzmy poniżej adresu 160.64.0.1 do wlan0 a powyżej na eth0?
edzio:
dobra, samobiczuję się, odpowiedź kryje się chyba pod hasłem netmask.
Ostatnio edytowany przez lis6502 (2014-04-27 13:14:30)
Offline
Spokojnie.
Zabawa z dwoma rurkami?
Jeśli na obu jest net, to masz kilka opcji, a jeśli nie, to przynajmniej ten z plusa ustaw statycznie.
System automatycznie dodaje trasy routingu, kiedy podnosisz interfejs, który ma IP, maskę i bramę.
Jeśli chcesz lecieć po klasach i maskach IP, to poprzez route/ip muisz porobić trasy routingu.
Przy czym, im więcej kombinujesz, tym więcej z tym zabawy, w końcu stracisz całkowicie możliwość używania dhcp.
Z siecią w Linuxie można naprawdę różne cuda robić, i się bawić do woli, ale kosztem sporej komplikacji całości zagadnienia.
Tu masz książkę kucharską o routingu w Linuxie, do zabawy:
http://jacekalex.sh.dug.net.pl/2.4routing.pdf
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2014-04-27 13:27:51)
Offline
Wow, dzięki za biblię ;)
Kompletnie nie mam pojęcia kiedy przejadę dalej niż poza spis treści, ale patrząc po zagadnieniach jest co czytać.
heh, żeby tylko z siecią dało się takie cuda robić :P. Ogólnie linuks jest niesamowicie elastyczny jesli rozumie się jak coś działa.
Na dzień dzisiejszy chyba wystarczy, dziękuję.
Offline
Tylko ostrożnie z tą biblją, liczba możliwości w Linuxie nie spadła, ale wręcz wzrosła, należy jednak pamiętać, że ta biblia powstała do Linuxa 2.4, a mamy w tej chwili 3.14.1.
Do kernela od wersji 2.4 doszły między innymi syncookies, tcp_corking, diabli wiedzą, co jeszcze, a za trochę dłuższy moment wielka migracja z iptables na nftables.
Ostatnio edytowany przez Jacekalex (2014-04-27 19:43:48)
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00126 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.12.123.41' WHERE u.id=1 |
0.00071 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.12.123.41', 1733053163) |
0.00055 | SELECT * FROM punbb_online WHERE logged<1733052863 |
0.00047 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25706 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00163 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25706 ORDER BY p.id LIMIT 0,25 |
0.00156 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25706 |
Total query time: 0.00637 s |