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/.
Witam. Na wstępie zaznaczę że już tydzień się z tym głowię i nic mi nie wychodzi a identycznego przypadku nie znalazłem.
Potrzebuję mieć z dwóch stałych zewnętrznych adresów IP (różni ISP) dostęp d tego samego komputera i usług.
Jest sobie serwer na Debianie (wszystko aktualne) płyta Gigabyte J1900 ITX z dwiema sieciówkami 1Gbps. Od dawna jest podział łącza i NAT to wszystko działa.
Do providera łączę się przez ppp0 i jest stały zewnętrzny adres.
Niestety ostatnimi czasy mi ta usługa często zawodzi, nowy router brzegowy u providera wycina pakiety i na razie nie jestem z tym nic w stanie zrobić. Głównie chodzi o pakiety wysyłane. WWW chodzi dobrze, FTP już nie zbytnio.
Mam od tygodnia zestaw startowy z t-mobile ze stałym adresem IP (stałe IP nie działa w LTE tylko w 3G) miałem modem E156G i do tego Router Planet WNRT-617G v1 to samo w sobie chodzi dobrze.
Na Debianie w tej chwili już mam ppp0 (internet) i eth0 (lan) na tej samej sieciówce żeby eth1 mieć wolne na podłączenie Routera z modemem 3G
Internet z modemu 3G nie będzie wykorzystywany do dzielenia na użytkowników a jedynie ktoś będzie pobierał z zewnątrz pakiety z jakiejś tam usługi X w momencie gdy nie będzie działał internet poprzez ppp0.
Każda usługa z osobna podłączona do Debiana działa mi poprawnie ale nie umiem ich zgrać dwóch razem. Potrzebuję mieć default'owe połączenie przez ppp0 a w momencie gdy dopiszę bramkę w eth1 dla routera planety z DMZ, eth1 staje się default'owym połączeniem. Nie wiem jak to obejść bo instrukcja ze strony http://bromirski.net/docs/translations/lartc-pl.html#LARTC.RPDB.MULTIPLE-LINKS nie che mi działać. Jestem samoukiem na linuxie ale tego niestety nie ogarniam. Wiem w teorii jak to zrobić ale w praktyce nie chce działać. Angielski znam średnio ale zazwyczaj sobie radzę.
Robiłem na drugim komputerze z połączeniem ppp0 i ethX zamianę default;owego interfejsu i zero efektu. Nie chcę grzebać w tym komputerze docelowym od razu żeby coś nie spaprać.
podstawowa konfiguracja if sieciowych:
ppp0 przychodzący internet
eth0 195.165.100.2 255.255.255.0 wyjście na lan
eth1 192.168.1.2 255.255.255.0 if na na drugie łacze t-mobile
root@linux:~# ip route default dev ppp0 scope link 10.20.10.0/24 dev eth0 proto kernel scope link src 10.20.10.35 10.100.100.2 dev ppp0 proto kernel scope link src 37.IP.ZEWNETRZNE.228 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.2 195.165.100.0/24 dev eth0 proto kernel scope link src 195.165.100.2
root@linux:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default * 0.0.0.0 U 0 0 0 ppp0 10.20.10.0 * 255.255.255.0 U 0 0 0 eth0 10.100.100.2 * 255.255.255.255 UH 0 0 0 ppp0 192.168.1.0 * 255.255.255.0 U 0 0 0 eth1 localnet * 255.255.255.0 U 0 0 0 eth0
root@linux:~# ip rule 0: from all lookup local 32766: from all lookup main 32767: from all lookup default
Nadmienię jako szczegół że mam zarządzanego switcha RB260GS przez który jest dostarczany internet poprzez światłowód. Wcześniej obie sieciówki były wpięte na niego i tam zrobiony FORWARDING między portami i wszystko ładnie chodziło. Biorę pod uwagę że może być inna konfiguracja połączeń miedzianych między switchem Planetą i serwerem.
I jeszcze pytanie dlaczego jedne routery z włączonym DMZ wymagają wpisania w docelowego hosta bramki żeby zadziałał DMZ a inne nie potrzebują.
Z linuxa_A przekierowanie portów na linuxa_B działa bez wpisywania bramki w linuxie_B i to oczywiste.
Przekierowanie portów z WAN'u 3G Planety na serwer nie działa. W tej sytuacji myślałem o Rasbery PI żeby wykorzystać jako router z modemem i zrobić przekierowanie portów (z eth na eth) które raczej by działało bo to dwa czyste linuxy. Albo modem bezpośrednio w USB serwera. Co proponujecie ?
Wiem że to dużo czytania ale starałem się to jakoś szczegółowo opisać. Znam się tyle o ile ;/ staram się być samo wystarczalny jeśli chodzi o linuxa. Jeśli ktoś miał by chwilę żeby przeczytać i coś odpisać to już z Góry Dziękuję.
to już czytałem:
http://eko.one.pl/forum/viewtopic.php?id=4485
http://www.rjsystems.nl/en/2100-adv-routing.php#defa
http://www.linuxhorizon.ro/iproute2.html
http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.simple.html
http://www.elpro.pl/dokumentacje/724-debref-10
http://www.clearfoundation.com/docs/developer/apps/multi-wan/routing_and_multi-wan
Dzięki za przeczytanie !
Offline
Jak już umiesz zrobić 2 tablice routingu dla obu połączeń, to ja bym na te tablice kierował na podstawie FWMARK firewalla, a potem naskrobał sobie skrypta, który będzie podmieniał regułę markowania w ustawieniach FW.
Jeszcze prościej można zrobić na jednej tablicy, żeby skrypt przełączający po prostu zmieniał domyślną trasę routingu w zależności, którą w danej chwili potrzebujesz.
Offline
Przyjacielu domyślam się o co Ci chodzi bo nie do końca znam fachowe nazewnictwo ale mimo to do tej pory zawsze sobie jakoś radziłem.
To co mi napisałeś niestety wiele mi nie mówi może właśnie przez fachowe pojęcia. Jestem elektromechanikiem samochodowym więc proszę o wyrozumiałość ;)
Teraz jak odznaczę bramę na eth1 cały ruch do internetu idzie tamtędy przez t-mobile a to bardzo słabe łącze.
Musze mieć obydwa połączenia włączone cały czas dla osób z zewnątrz.
Komputery w lanie jak i serwer nie mogą korzystać z transferu tamtego połączenia. Serwer tylko tyle co potrzeba do jego poprawnej pracy z usługami z zewnątrz.
/etc/network/interfaces
auto lo iface lo inet loopback device eth0 auto eth0 iface eth0 inet static address 195.165.100.2 netmask 255.255.255.0 network 195.165.100.0 broadcast 195.165.100.255 device eth01 auto eth0:1 iface eth0:1 inet static address 10.20.10.35 netmask 255.255.255.0 # netia PPPoE zewn auto ppp0 iface ppp0 inet ppp pre-up /sbin/ifconfig eth0 up provider netia device eth1 auto eth1 iface eth1 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.162.1.255 #gateway 192.168.1.4
rc.masq całego nie będę wklejał bo tam jest dużo...
echo -en "MASQUERADE IP \n" iptables -t nat -A POSTROUTING -s 195.165.100.0/255.255.255.0 -d 0/0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 10.20.10.0/255.255.255.0 -d 0/0 -j MASQUERADE echo -en "Udostepnianie internetu dla sieci LAN \n" iptables -A FORWARD -s 195.165.100.0/255.255.255.0 -d 0/0 -j ACCEPT # Wspolna dla wszystkich iptables -A FORWARD -s 10.20.10.0/255.255.255.0 -d 0/0 -j ACCEPT # Wspolna dla wszystkich iptables -A FORWARD -s 0/0 -d 10.20.10.36 -j ACCEPT iptables -A FORWARD -s 0/0 -d 10.20.10.37 -j ACCEPT iptables -A FORWARD -s 0/0 -d 195.165.100.1 -j ACCEPT iptables -A FORWARD -s 0/0 -d 195.165.100.3 -j ACCEPT
Ostatnio edytowany przez karol503873387 (2014-12-10 10:39:03)
Offline
Tu masz opis po polsku (tłumaczenie):
http://jacekalex.sh.dug.net.pl/routing.pdf
W nim znajdziesz, jak się robi dodatkowe tablice routingu - rozdział 4, strona 10.
np:
echo 200 druga >>/etc/iproute2/rt_tables
Potem skopiujesz do niej wpisy statyczne:
ip r s table main | egrep -v 'default|ppp' |while read line; do ip r add $line table druga; done;
i pierwsza część gotowa.
A jak poczytasz dalej, to tam masz napisane, jak wybierać tablice na podstawie znaczników firewalla - rozdział 11 strona 60.
Ostatnio edytowany przez Jacekalex (2014-12-10 11:08:07)
Offline
Dzięki zabieram się do lektury ;) Zawsze robię wszystko sam żebym umiał to naprawić.
Offline
Time (s) | Query |
---|---|
0.00011 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00106 | 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.15.17.60' WHERE u.id=1 |
0.00061 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.15.17.60', 1732804804) |
0.00063 | SELECT * FROM punbb_online WHERE logged<1732804504 |
0.00070 | 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=26777 AND t.moved_to IS NULL |
0.00009 | SELECT search_for, replace_with FROM punbb_censoring |
0.00136 | 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=26777 ORDER BY p.id LIMIT 0,25 |
0.00073 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26777 |
Total query time: 0.00533 s |