Προς το περιεχόμενο

iptables ερώτηση


tampatas

Προτεινόμενες αναρτήσεις

Γειά σας

Έχω μια απορία που μάλλον σχετίζεται με τα iptables και τί μπορείς να κάνεις.

Να σημειώσω οτι οι γνώσεις μου για χρήση Linux είναι περιορισμένες, και εύχομαι κάποιος πιό ειδικός να με βοηθήσει.

Έστω οτι στήνουμε έναν server σε Linux, ας πούμε σε RedHat, και έχουμε πάνω του τα βασικά.Mysql server για databases, Apache Tomcat για δυναμικές σελίδες(θα δουλεύω σε jsp), ftp server(πoιον προτείνεται btw???) και mail server(sendmail). Έστω οτι τα καταφέρνω ως εδώ (το έχω ξανακάνει παλιότερα, δεν θα έχω ιδιαίτερο πρόβλημα). Για να πάρουν οι δυναμικές σελίδες connection με την mysql, να στείλουν mail μέσω του mailserver κτλ χρησιμοποιούν κλήσεις στο localhost

 

πχ. για να πάρει ένα instance connection με την βάση χρησιμοποιεί

private static String url = "jdbc:mysql://localhost/myUsername_myDatabaseName....";

 

πχ2. για να στείλει μια jsp αυτόματα ένα email κάνει login στο localhost

 

Μέχρι εδώ καλά. Έστω οτι αύριο εγώ θέλω να στήσω ακόμα έναν server που θα τρέχει mail server αποκλειστικά ή mysql server αποκλειστικά και "καταργήσω" τους αντίστοιχους servers στο πρώτο μηχάνημα. Οι σελίδες σε αυτήν την περίπτωση έχουν πρόβλημα. Στο localhost, δηλαδή στο πρώτο μηχάνημα, δεν υπάρχουν οι servers που υπήρχαν πριν. Μπορώ μέσω των iptables στο πρώτο μηχάνημα να κάνω redirect τις αντίστοιχες κλήσεις προς τα άλλα μηχανήματα? Δηλάδη όταν στον webserver έρθει μία κλήση localhost:3306 μπορώ μέσω κατάλληλης αλλαγής των iptables να την κάνω redirect στο pc που θα τρέχει τον mysql server.

 

Ευχαριστώ για τον χρόνο σας

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτό μπορείς να το κάνεις άνετα με ssh remote port forwarding. Περισσότερες πληροφορίες στο http://www.insomnia.gr/forum/showthread.php?t=169767

 

Για iptables δεν ξέρω αν γίνεται. Αλλά δε θα μπορούσες να βάλεις μια μεταβλητή όπου θα κρατάει τη διεύθυνση του server που υπάρχει για παράδειγμα ο mysql server και αλλάζοντας μόνο αυτήν να έχεις το επιθυμητό αποτέλεσμα, χωρίς να κάνεις τίποτα άλλο;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αυτό που λές για την μεταβλητή γίνεται εύκολα, το θέμα όμως είναι οτι το πού βρίσκεται ο mail server ή ο mysql server πρέπει να είναι trasparent σε όλα τα jsp. Όλα πρέπει να νομίζουν οτι έχουν να κάνουν μόνο με το localhost.

Αυτό με την μεταβλητή δεν είναι χρήσιμο, γιατι ας πούμε οτι αλλάζω mail server μετά από 6 μήνες και έχω 100 jsps. Τι θα κάνω? 100 recompile?

Και μέχρι να κάνω το compile τίποτα δεν θα δουλεύει. Και αν δουλεύει και κάποιος άλλος στον server μου γιατί πρέπει να ξέρει την ip του mail server μου? Και αν την ξέρει, τι θα κάνει recompile όλες τις κλάσεις του? Για λίγα πράγματα δουλεύει αυτό που λες, αλλά για στήσιμο χωρίς προβλήματα χρειάζομαι κάτι άλλο.

 

Κανένας άλλος έχει να προτείνει τπτ?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θα μπορούσες να χρησιμοποιείς DNS name αντί IP διεύθυνσης (π.χ. db.mydomain), οπότε μέσω είτε ενός DNS server είτε στατικών /etc/hosts entries να οδηγείς σε όποια διεύθυνση θέλεις ανά πάσα στιγμή.

 

Φυσικά και γίνεται μέσω iptables, απλά δεν είναι ο πιο efficient τρόπος.

 

Αν θέλεις να το κάνεις έτσι, λογικά θα αρκεί να προσθέσεις έναν Destination NAT rule στην αλυσίδα OUTPUT, κάπως έτσι:

 

>iptables -t nat -A OUTPUT -o lo -p tcp --dport 1234 -j DNAT --to 1.2.3.4

 

Αν δεν τον έχεις υπόψη, διάβασε πρώτα απ' όλα τον εξαιρετικό οδηγό του Apoikou. Για επιπλέον παραδείγματα δες τα HowTo και τα Tutorials στο site του Netfilter και για αναφορά την man page iptables(8).

 

ΥΣ. Για FTP server προτείνω vsftpd και για Mail server postfix.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...