Καταμπερδεμένος με τα iptables
Antonis Christofides
anthony at itia.ntua.gr
Wed Feb 15 18:42:46 EET 2012
Έχω ένα σέρβερ (εφεξής host) με IP 192.168.1.199. Μέσα του τρέχει ένα
VM (openvz container, εφεξής guest) με IP 10.1.3.1, ο οποίος τρέχει
μια postgresql που ακούει στο port 5432. Το nat είναι ρυθμισμένο και
δουλεύει καλά, o guest επικοινωνεί με τον έξω κόσμο, και έχω φτιάξει
και το εξής iptables rule στο host (table nat) για να μπορεί ο έξω
κόσμος να μιλήσει με το guest:
-A PREROUTING -p tcp -m multiport --dports 80,443,5432 -j DNAT
--to-destination 10.1.3.1
Έχουμε λοιπόν (έστω "other" ένας άλλος υπολογιστής στο ίδιο δίκτυο).
Από other: nc -vn 192.168.1.199 5432 => OK
Από guest: nc -vn 127.0.0.1 5432 => OK
Από guest: nc -vn 10.1.3.1 5432 => OK
Από guest: nc -vn 192.168.1.199 5432 => OK
Από host: nc -vn 10.1.3.1 5432 => OK
Από host: nc -vn 192.168.1.199 5432 => Connection refused
Από host: nc -vn 127.0.0.1 5432 => Connection refused
Με άλλα λόγια, ο host δεν κάνει port forwarding όταν το connection
request γίνεται από τον εαυτό του. Τι έχω καταλάβει λάθος;
guest & host τρέχουν Debian 6.0 - Linux 2.6.32-5-openvz-amd64.
More information about the Linux-greek-users
mailing list