Fórum Ubuntu CZ/SK
Ostatní => Archiv => Téma založeno: Jakub Lucký 05 Prosince 2006, 22:13:28
-
Sice tady podobných témat je hafo, ale tento konkrétní problém jsem hledal a nenašel.
Mám doma notebook s připojením přes AnyData(USB CDMA modem ) a chtěl bych připojení nasdílet :-) Postupoval jsem podle místního HowTo ale zasekl jsem se v okamžiku, kdy už mělo všechno fungovat.
Notebook -> výpis ifconfig
eth0 Zapouzdření:Ethernet HWadr 00:15:F2:7D:74:2E
inet adr:10.0.0.1 Všesměr:10.0.0.255 Maska:255.255.255.0
AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST MTU:1500 Metrika:1
RX packets:82 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
kolizí:0 délka odchozí fronty:1000
Přijato bajtů: 10354 (10.1 KiB) Odesláno bajtů: 2598 (2.5 KiB)
Přerušení:225
eth1 Zapouzdření:Ethernet HWadr 00:15:00:42:4F:14
AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST MTU:1500 Metrika:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:21386 errors:0 dropped:0 overruns:0 carrier:0
kolizí:0 délka odchozí fronty:1000
Přijato bajtů: 0 (0.0 b) Odesláno bajtů: 0 (0.0 b)
Přerušení:233 Vstupně/Výstupní port:0xa000 Paměť:fe9ff000-fe9fffff
lo Zapouzdření:Místní smyčka
inet adr:127.0.0.1 Maska:255.0.0.0
AKTIVOVÁNO SMYČKA BĚŽÍ MTU:16436 Metrika:1
RX packets:51 errors:0 dropped:0 overruns:0 frame:0
TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
kolizí:0 délka odchozí fronty:0
Přijato bajtů: 4630 (4.5 KiB) Odesláno bajtů: 4630 (4.5 KiB)
ppp0 Zapouzdření:Point-to-Point Protokol
inet adr:10.162.5.21 P-t-P:10.160.3.42 Maska:255.255.255.255
AKTIVOVÁNO POINTOPOINT BĚŽÍ NEARP MULTICAST MTU:1500 Metrika:1
RX packets:21977 errors:29 dropped:0 overruns:0 frame:0
TX packets:22027 errors:0 dropped:0 overruns:0 carrier:0
kolizí:0 délka odchozí fronty:3
Přijato bajtů: 7722849 (7.3 MiB) Odesláno bajtů: 2011655 (1.9 MiBeth1 by měla být Wifina, s tím bych si starosti snad nedělal. eth0 je síťovka
ifconfig z desktopu
eth0 Zapouzdření:Ethernet HWadr 00:17:31:8B:DE:1B
inet adr:10.0.0.2 Všesměr:10.0.0.255 Maska:255.255.255.0
inet6-adr: fe80::217:31ff:fe8b:de1b/64 Rozsah:Linka
AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST MTU:1500 Metrika:1
RX packets:31 errors:0 dropped:0 overruns:0 frame:0
TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
kolizí:0 délka odchozí fronty:1000
Přijato bajtů: 3988 (3.8 KiB) Odesláno bajtů: 15557 (15.1 KiB)
Přerušení:10 Vstupně/Výstupní port:0x2000
lo Zapouzdření:Místní smyčka
inet adr:127.0.0.1 Maska:255.0.0.0
inet6-adr: ::1/128 Rozsah:Počítač
AKTIVOVÁNO SMYČKA BĚŽÍ MTU:16436 Metrika:1
RX packets:29 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
kolizí:0 délka odchozí fronty:0
Přijato bajtů: 2520 (2.4 KiB) Odesláno bajtů: 2520 (2.4 KiB)pingání(mezi počítači) a Samba běhá v klidu
/etc/resolv.conf jsem nastavoval, na obou počítačích je stejné.(ještě jsem to teď kontroloval)
Žádný firewall nemám zapnutý/aktivovaný
Nevíte kde by mohl být problém? Potřeboval bych to rozchodit, abych mohl desktop aktualizovat (po síti) a zprovoznit na něm to CDMA :-)
-
A co rekne `ip route ls`
-
notebook
10.160.3.42 dev ppp0 proto kernel scope link src 10.162.5.21
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1
default dev ppp0 scope linkdesktop
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.2
default via 10.0.0.1 dev eth0
-
to vypada v poradku ted uz by melo stacit mit na NB zapnute forwardovani koukni se do /proc/sys/net/ipv4/ip_forward, musi tam byt 1. A potom musis mit udelany nat zkus jeste poslat co ti vypise na NB prikaz iptables -t nat -L -v
-
tak na NB jsem zkusil oboje...
na první zní odpověď: jediné co je v souboru je "1" takže je to ok
ad 2)
Chain PREROUTING (policy ACCEPT 21 packets, 3693 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 623 packets, 45756 bytes)
pkts bytes target prot opt in out source destination
37 4578 MASQUERADE all -- any eth0 anywhere anywhere
Chain OUTPUT (policy ACCEPT 656 packets, 50096 bytes)
pkts bytes target prot opt in out source destination
-
tak je to jasny
Chain POSTROUTING (policy ACCEPT 623 packets, 45756 bytes)
pkts bytes target prot opt in out source destination
37 4578 MASQUERADE all -- any eth0 anywhere anywhere
tady ma byt misto eth0 ppp0, je to zarizeni ze ktereho odchazi packety do internetu.
Musis to opravit nekde v nastaveni iptables.
-
Je na to nějaký příkaz? nebo je to někde v confu? V linuxu se bohužel pohybuju cca 3 týdny a nemám ještě moc přehled o spoustě věcí. Za návod nebo aspoň popostrčení kde to opravit budu docela vděčen :-)
P.S. Asi bych mohl hledat na googlu, ale i z hlediska budoucího využití tohoto dotazu by stálo za to to tady zveřejnit.
-
Poradíte pls někdo?
-
Samozrejme je na to prikaz, ale pro cloveka ktery dela v linuxu tri tydny to nebude sranda, a ani pro toho kdo radi.
Pro zacatek zkuste v konzoli: $ sudo iptables -L -v -n > ./ipc.log
sudo iptables -L -v -n -t nat >> ./ipc.log
a poslete sem ten ipc.log
NEZAVAZNE se na to podivam, nicmene jestli to tim podivanim spravime nevim.
Jeste jsem zapomnel, do jineho logu poslete (stejne jako v predeslem pripade) jen vystup prikazu: sudo iptables-save > ./jiny.log a postnete sem.
-
první dva příkazy:
Chain INPUT (policy ACCEPT 557 packets, 83003 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 539 packets, 43759 bytes)
pkts bytes target prot opt in out source destination
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 57 packets, 4669 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 57 packets, 4669 bytes)
pkts bytes target prot opt in out source destinationiptables-save
# Generated by iptables-save v1.3.3 on Thu Dec 7 17:20:57 2006
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [47:3848]
:OUTPUT ACCEPT [47:3848]
COMMIT
# Completed on Thu Dec 7 17:20:57 2006
# Generated by iptables-save v1.3.3 on Thu Dec 7 17:20:57 2006
*filter
:INPUT ACCEPT [199:21524]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [202:15808]
COMMIT
# Completed on Thu Dec 7 17:20:57 2006Pro všechny případy dodám nějaké info
oboje jsou Ubuntu 6.06 LTS, ten sloužící jako brána aktualizovaný
P.S. děkuji za (probíhající) pomoc. Tohle jsem sice stokrát a jednou dělal na Windows, ale iptables jsou trochu jiné(a pro znalé nejspíš i lepší) kafe
-
Tak ja to zkusim, bez zaruky. Nejdriv skript na nastaveni "nuloveho stavu", vse je povoleno. Spusti se, kdyz by "sa volaco zjeblo"
#!/bin/sh
#
# odstaveni firewallu, vse je povoleno
iptables -F
iptables -F -t nat;
iptables -X;
iptables -X -t nat;
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# vypne routovani paketu
echo 0 > /proc/sys/net/ipv4/ip_forward
# eof
-
A ted ten hlavni:
#!/bin/sh
# skript je vhodne nakopirovat do /etc/ppp/ip-up.d, kde je proveden po nahozeni ppp.
# skript musi mit k dispozici ip adresu rozhrani ppp0
# tu nastavuje jako promennou environmentu "PPP_LOCAL" skript /etc/ppp/ip-up
# do /etc/ppp/ip-down.d je vhodne ulozit skript, ktery nastavi iptables do vychoziho stavu
# a pripadne vypne predavani paketu (routovani)
#---------------------------------------------------------
let EXT_IP=$PPP_LOCAL
# Paketum ktere prichazeji z vnitrni site a projdou forwardem zmenime zdrojovou adresu
# na soucasne IP ppp0
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o ppp0 -j SNAT --to-source "$EXT_IP"
# Umoznime odpoved z venku na navazana spojeni z vnitrni site.
iptables -A FORWARD -s ! 10.0.0.0/24 -o eth0 -m state --state ESTABLISHED -j ACCEPT
# zapneme routovani
echo 1 > /proc/sys/net/ipv4/ip_forward
# a jeto !
# eof
-
2x jsem ty skripty otestoval, ale internet to nesdílelo a bohužel, také to způsobovalo nestabilitu připojení (myslím to CDMA). Nechci tě nutit, abys to dělal. Pokud to nejde tak se nedá nic dělat. Lze aktualizovat Ubuntu pomocí CD/DVD pokud onen počítač nemá internet?
-
Jsou to casti skriptu, ktere jsem pouzival na jedne brane, ktera byla do nedavna pripojena do netu modemem. Takze sdileni ppp pripojeni opravdu funguje, to mam overeno dlouhodobe. Pokud jde o aktualizaci, da se to takto snad delat, ale radit musi jiny, ja to nepouzivam. Tusim, ze to tu na foru nekde je.
Jeste me napada ze by v jadre mely byt nahrany moduly:
ipt_MASQUERADE
ipt_state
ipt_REJECT
iptable_filter
ip_nat_ftp
iptable_nat
ip_tables
ip_conntrack_ftp
ip_conntrack
(ftp jen pokud potrebujete aktivni ftp ven)
-
Jeste doplnek toho skriptu, prehledl jsem dva radky.
iptables -A FORWARD -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
Je to povoleni navazanych spojeni.
-
Ja s temi doplnky snad neskoncim.
Je mozna vyhodnejsi pravidlo se SNAT nahradit MASQUERADE. Ma vyhodu v tom, ze se automaticky priradi ip vystupniho rozhrani a nemusi se explicitne uvadet.
Takze misto :
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o ppp0 -j SNAT --to-source "$EXT_IP"
By melo stacit:
# pakety z vnitrni site maskaradovat
iptables -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
Snad jsem Vas moc nezmatnul .....
-
No, myslím že ne. Otestuju to zítra.
-
Otestováno...
Připojení je sice stabilní ale internet pořád na stejném bodě -> tzn nic. DNSkem to není, zkoušel jsem pingovat i IPku (googla). Vypnuté IPv6 by nemělo být problém, vzhledem k tomu, že na sdílení se používá pořád IPv4
-
Vypis route z obou masin.
Na desktopu zadat: sudo route del default
sudo route add default gw ip_notebooku
-
ip route ls na notebooku:
10.160.3.42 dev ppp0 proto kernel scope link src 10.162.51.177
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1
default dev ppp0 scope linkip route ls na desktopu:
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.2
default via 10.0.0.1 dev ethZmíněný příkaz jsem pustil před výpisem routů
-
Ja bych radsi videl vypis prikazu route, lip se v nem vyznam,ale vypada to spravne na prvni pohled.
A furt nic ? Opravdu je 1 v /proc/sys/net/ipv4/ip_forward na notebooku ? Zkusil jste trebas telnet nebo ftp nekam ven ? Nebo ze by znama chyba s nameservery na gate? Mate tam nameservery poskytovatele a ne nameserver modemu ? Uz se asi opakuju a chytam stebla.
-
Teď jsem catoval onen ip_forward... vyhodil mi nulu.
Jsem si jistý, že když jsem na něj byl dotázán poprvé, byla tam jednička. Tím jsi sem opravdu naprosto jistý. Tak jsem to přenastavil na jedničku a vyzkoušel. Internet přes modem opět ztratil veškerou stabilitu. Když jsem to vrátil zpátky, vše se vrátilo do normálu.
otázka na Pavla: Myslíš že jsi schopen a hlavně ochoten to řešit dál? Pokud ne, nebudu ti to mít za zlé, už jsem se s rezignací smířil. Pokud jsi ochoten pokračovat, můžeme, pokud to zprovozníme budu jenom rád.
Pokud budeme pokračovat, napíšu sem na fórum znovu aktuální výpis "všeho".
-
Pokracovat muzem, ale jak? Bude tam neco zakleteho, nejaka chyba, kterou ostrelujem kolem dokola a nemuzem se trefit. Ja s modemy moc zkusenosti nemam. Aby to forwardovalo pakety musi byt 1 v tom /proc/sys... a musi byt v iptablesech na GW chain FORWARD na ACCEPT, INPUT na ACCEPT a OUTPUT na ACCEPT. To je na spustenem systemu normalne od zacatku nastavene. Staci pridat do postrouting tu MASQUERADE. Musi byt spravne routovaci tabulky na stanici a hlavne na GW, aby paket nasel cestu zpatky do vnitrni site. Musi byt spravne nameservery. Mne tohle chodilo dlouhe mesice na mensi siti s ppp vytacenym pripojenim ISDN naprosto bez problemu. Ale nebyl to notebook.
Znovu se omlouvam, napsal jsem spatne tu maskaradu, spravne musi byt :
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
-
Tak asi se na to zatím vykašleme...
Já jak se budu linuxově vzdělávat, tak se pokusím na tohle přijít. Je tam někde zakopaný pes.
Každopádně ti moc děkuju za pomoc. Dost jsem se tímhle nastavováním naučil.
-
Jeste znova to cely zkontrolovat, muze byt preklep v nejakem konfiguraku. A zkusit hledat na siti.