Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Internet a sítě => Téma založeno: dadam 11 Února 2010, 20:10:55
-
Zdravím, potřeboval bych se přes SSH připojit na zařízení s DHCP klientem. Na eth0 mám funkční DHCP server, nicméně ping mi píše toto:
ping: sendmsg: Operation not permitted
Někde jsem našel, že problém by mohl být v iptables. Začal jsem to studovat, nicméně si nevím rady. Nejdřív výpis INPUT a OUTPUT:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 10.0.0.138 anywhere tcp flags:!FIN,SYN,RST,ACK/SYN
ACCEPT udp -- 10.0.0.138 anywhere
ACCEPT tcp -- 192.168.1.254 anywhere tcp flags:!FIN,SYN,RST,ACK/SYN
ACCEPT udp -- 192.168.1.254 anywhere
ACCEPT all -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere limit: avg 10/sec burst 5
DROP all -- anywhere 255.255.255.255
DROP all -- anywhere 192.168.1.255
DROP all -- BASE-ADDRESS.MCAST.NET/8 anywhere
DROP all -- anywhere BASE-ADDRESS.MCAST.NET/8
DROP all -- 255.255.255.255 anywhere
DROP all -- anywhere 0.0.0.0
DROP all -- anywhere anywhere state INVALID
LSI all -f anywhere anywhere limit: avg 10/min burst 5
INBOUND all -- anywhere anywhere
LOG_FILTER all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Unknown Input'
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 192.168.1.162 10.0.0.138 tcp dpt:domain
ACCEPT udp -- 192.168.1.162 10.0.0.138 udp dpt:domain
ACCEPT tcp -- 192.168.1.162 192.168.1.254 tcp dpt:domain
ACCEPT udp -- 192.168.1.162 192.168.1.254 udp dpt:domain
ACCEPT all -- anywhere anywhere
DROP all -- BASE-ADDRESS.MCAST.NET/8 anywhere
DROP all -- anywhere BASE-ADDRESS.MCAST.NET/8
DROP all -- 255.255.255.255 anywhere
DROP all -- anywhere 0.0.0.0
DROP all -- anywhere anywhere state INVALID
OUTBOUND all -- anywhere anywhere
LOG_FILTER all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level info prefix `Unknown Output'
První věc: neměly by iptables fungovat jako firewall? Tzn. jak nějaký ping ví, že má vypsat chybovou hlášku místo toho, aby vypsal ztracený paket? A druhá: jak mám tedy přepsat iptables, aby to fungovalo (týpek napsal že to bylo tím, ale už ne jak to opravil)? Kde je vlastně napsané, že odchozí icmp packety se mají zahazovat? Je to 'policy DROP'? A proč jsou vlastně u OUTPUT sekce DROP pravidla, když by všechny dosud nefiltrované packety měly zabrat na 'ACCEPT all -- anywhere anywhere'?
-
Pokusím se dát "univerzální" návod
Uložíme stávající někam bokem
iptables-save > puvodnipravidla
smažeme (dostatečný základ)
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t mangle -F PREROUTING
iptables -t mangle -F POSTROUTING
iptables -t mangle -F INPUT
iptables -t mangle -F OUTPUT
iptables -t mangle -F FORWARD
vyzkoušíme ping, pokud se ukáže že to pravidly nebylo tak si je zase obnovíme
iptables-restore < puvodnipravidla
Takže pokud za to nemohou pravidla tak vyhledáme googlem chybovou hlášku, případně k ní přidáme "ip_conntrack" nebo "selinux"
Pokud nalezená řešení nepomohou tak před příkaz ping vložíme strace
strace ping ...
a výsledek vložíme do fóra
Samozřejmě předpokládám ža nastavení síťařiny je v pořádku, karty jsou nahozené a UP, jestli natujeme tak je povolený forwarding...
--
A proč jsou vlastně u OUTPUT sekce DROP pravidla
když jste si tam pravbidla dal tak je tam máte
--
Na základní otázky kolem iptables se nejdříve podívám na nějaký ze seriálů které se je snaží vysvětlit. třeba http://www.root.cz/serialy/vse-o-iptables/ ,případně "stavíme firewall atd."
-
Děkuju za odpověď. Na seriál jsem se díval, nicméně těch pár otázek jsem chtěl ještě objasnit. Příkazy iptables-save a iptables-restore přidám do topicu 'Síťování', kdybych o nich věděl tak můžu začít experimentovat rovnou a neptat se :) Ještě by mě zajímalo, proč ping hlásí takovou chybovou hlášku - neměl by být zticha, když mu poslané packety zahodí firewall?