Portál AbcLinuxu, 24. prosince 2025 19:15
iptables se projevi ihned. Neni mi jasne, co ma byt na portu 3306 "videt"?
netstat -nlt – pokud MySQL neposlouchá na veřejné IP adrese toho PC (tj. ne 127.0.0.1), tak se na ni z venku nedostanete. Zajímat vás bude konfigurační volba mysqld bind-address.
<pre>. Podle toho tedy MySQL naslouchá na všech adresách. Takže jsou dvě možnosti – buď je někde mezi firewall, nebo nebo přístup blokuje až MySQL na základě přístupových práv – to by se ale spojení navázalo, a selhal by až přístup k nějaké databázi pod určitým jménem a heslem. Firewall můžete otestovat docela snadno – na tom stroji, kde běží MySQL, pusťte
tcpdump -ni eth0 'port 3306'kde
eth0 je rozhraní, odkud přichází spojení od klienta. Pokud neuvidíte žádné příchozí pakety, je firewall někde mezi serverem a klientem. Pokud přijdou jen příchozí pakety, blokuje provoz zřejmě firewall přímo na serveru (za předpokladu, že tedy server opravdu naslouchá).
iptables -nvL --line-numbers iptables -t nat nvL --line-numbers
[root@server /]# iptables -nvL --line-numbers Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 47M 6409M RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0 2 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 3 0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 0 0 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT 49M packets, 36G bytes) num pkts bytes target prot opt in out source destination Chain RH-Firewall-1-INPUT (2 references) num pkts bytes target prot opt in out source destination 1 7396K 858M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 2 8954 1210K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255 3 0 0 ACCEPT esp -- * * 0.0.0.0/0 0.0.0.0/0 4 0 0 ACCEPT ah -- * * 0.0.0.0/0 0.0.0.0/0 5 110 31589 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353 6 0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 3 152 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 34M 5260M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 54891 3286K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 5817K 283M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 11 32142 1909K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21 12 118 6876 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:443 13 45571 2693K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited [root@moodle /]#
RH-Firewall-1-INPUT. Tam pakety pro MySQL vyhoví až pravidlu 13, které je zahodí. Pravidla 2 a 3 v INPUT se tak nikdy nedostanou ke slovu. Je potřeba to pravidlo dát na začátek (iptables -I INPUT 1 …), nebo do RH-Firewall-1-INPUT někam před to poslední pravidlo, takže třeba iptables -I RH-Firewall-1-INPUT 13 ….
iptables -I INPUT -j ACCEPT iptables -I OUTPUT -j ACCEPT
iptables -D INPUT 1 iptables -D OUTPUT 1
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.