Στον προηγούμενο άρθρο περιγράψαμε πως μπορεί μια συσκευή που είναι συνδεδεμένη σε ένα τοπικό δίκτυο να βγει έξω στο διαδίκτυο από έναν τοπικό υπολογιστή που έχει πρόσβαση στο ίντερνετ κάνοντας τον να λειτουργεί σαν ρούτερ.
Σήμερα, μιας και επιδίωξα να δώσω 1 δολάριο για να δοκιμάσω ένα Amazon Instance VM (Debian) για ένα χρόνο, είπα να το φτιάξω VPN server και να παίξω με ένα παρόμοιο σενάριο που σκέφτηκα.
Αυτό που σκέφτηκα είναι το εξής: Εφόσον συνδέσω στο VPN το PC "fidron" , και έχει την public ip τoυ amazon, δηλαδή την 52.89.58.61, να παίξει τον ρόλο του ρούτερ ξανά, και να μοιράζει όλο το traffic σε όσες συσκευές βρίσκονται στο δίκτυο 192.168.0.0/24.
Aς πούμε οτι θέλω το PC "hydron" να πάρει public ip την 52.89.58.61
Να τονίσω ότι όταν τρέχει το OpenVPN στον "fidron" αλλά και σε οποιαδήποτε συσκευή, το default network interface που τρέχει είναι το tun0.
Ξέχασα να αναφέρω στο προηγούμενο άρθρο, ότι αν το default policy του iptables είναι accept τότε δεν χρειάζεται να κάνουμε forward τα πακέτα απο το ένα interface στο άλλο.
Πάμε να ενεργοποιήσουμε ipv4 forward με την εντολή
Αρχικά για να συνδέεται το δίκτυο 10.8.0.0/24 στο internet πρέπει στο "zirium" Virtual Machine δώσουμε το εξής iptables rule...
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Με αυτόν τον κανόνα του λέμε: "Ότι πακέτο έρχεται από το υποδίκτυο 10.8.0.0/24 να πηγαίνει από το eth0 network interface" το οποίο βγαίνει στο διαδίκτυο και παίρνει την παραπάνω public ip.
Από εδώ και πέρα, ότι συσκευή είναι συνδεδεμένη στο υποδίκτυο 10.8.0.0/24 θα έχει public ip , την διεύθυνση του Amazon VM
Πάμε στην μοναδική συσκευή (VM okeano) που έχουμε συνδέσει άμεσα πάνω στο VPN παίρνοντας την ip 10.8.0.6 στo tun0 network interface.
Πληκτρολογώντας την παραπάνω εντολή στην εικόνα βλέπουμε ότι έχουμε την public ip του vm amazon πράγμα που σημαίνει ότι όλα μέχρι στιγμής βαίνουν καλώς.
Φτάσαμε στο καλύτερο τώρα. Έστω ότι είμαστε συνδεδεμένοι σε ενα VPN απο ένα PC και θέλω να το πασάρω και στις άλλες συσκευές του τοπικού δικτύου πως θα γίνει;
Όπως είπαμε και στο προηγούμενο άρθρο θα πρέπει αυτό το pc να παίξει τον ρόλο του router;
Θα δώσουμε τον εξής κανόνα iptables:
iptables -t nat -A POSTROUTING -s 192.168.0.3 -o tun0 -j MASQUERADE
Με τον παραπάνω κανόνα του λέμε: "Ότι πακέτο έρχεται απο το υποδίκτυο 192.168.0.0/24 να πηγαίνει στο tun0 network interface" δηλαδή στο υποδίκτυο του VPN.
Και στη συνέχεια πάμε στις συσκευές του υποδικτύου 192.168.0.0/24 και δηλώνουμε σε κάθε συσκευή , οτι θα έχουν για default gateway(προεπιλεγμένη πύλη) το 192.168.0.2. Η εντολή είναι αυτή:
route add default gw 192.168.0.2 eth1
Υ.Γ
Το άρθρο ήταν παρόμοιο με το προηγούμενο... κάποιος όμως που δεν καταλαβαίνει τα iptables μπορεί να βοηθηθεί.
Αναμένονται πολλά άλλα άρθρα που σχετίζονται με linux, δίκτυα, προγραμματισμό, ασφάλεια κλπ.
Ευχαριστώ.
Σήμερα, μιας και επιδίωξα να δώσω 1 δολάριο για να δοκιμάσω ένα Amazon Instance VM (Debian) για ένα χρόνο, είπα να το φτιάξω VPN server και να παίξω με ένα παρόμοιο σενάριο που σκέφτηκα.
Αυτό που σκέφτηκα είναι το εξής: Εφόσον συνδέσω στο VPN το PC "fidron" , και έχει την public ip τoυ amazon, δηλαδή την 52.89.58.61, να παίξει τον ρόλο του ρούτερ ξανά, και να μοιράζει όλο το traffic σε όσες συσκευές βρίσκονται στο δίκτυο 192.168.0.0/24.
Aς πούμε οτι θέλω το PC "hydron" να πάρει public ip την 52.89.58.61
Να τονίσω ότι όταν τρέχει το OpenVPN στον "fidron" αλλά και σε οποιαδήποτε συσκευή, το default network interface που τρέχει είναι το tun0.
Ξέχασα να αναφέρω στο προηγούμενο άρθρο, ότι αν το default policy του iptables είναι accept τότε δεν χρειάζεται να κάνουμε forward τα πακέτα απο το ένα interface στο άλλο.
Πάμε να ενεργοποιήσουμε ipv4 forward με την εντολή
echo 1 > /proc/sys/net/ipv4/ip_forward
Αρχικά για να συνδέεται το δίκτυο 10.8.0.0/24 στο internet πρέπει στο "zirium" Virtual Machine δώσουμε το εξής iptables rule...
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Με αυτόν τον κανόνα του λέμε: "Ότι πακέτο έρχεται από το υποδίκτυο 10.8.0.0/24 να πηγαίνει από το eth0 network interface" το οποίο βγαίνει στο διαδίκτυο και παίρνει την παραπάνω public ip.
Από εδώ και πέρα, ότι συσκευή είναι συνδεδεμένη στο υποδίκτυο 10.8.0.0/24 θα έχει public ip , την διεύθυνση του Amazon VM
Πάμε στην μοναδική συσκευή (VM okeano) που έχουμε συνδέσει άμεσα πάνω στο VPN παίρνοντας την ip 10.8.0.6 στo tun0 network interface.
Πληκτρολογώντας την παραπάνω εντολή στην εικόνα βλέπουμε ότι έχουμε την public ip του vm amazon πράγμα που σημαίνει ότι όλα μέχρι στιγμής βαίνουν καλώς.
Φτάσαμε στο καλύτερο τώρα. Έστω ότι είμαστε συνδεδεμένοι σε ενα VPN απο ένα PC και θέλω να το πασάρω και στις άλλες συσκευές του τοπικού δικτύου πως θα γίνει;
Όπως είπαμε και στο προηγούμενο άρθρο θα πρέπει αυτό το pc να παίξει τον ρόλο του router;
Θα δώσουμε τον εξής κανόνα iptables:
iptables -t nat -A POSTROUTING -s 192.168.0.3 -o tun0 -j MASQUERADE
Με τον παραπάνω κανόνα του λέμε: "Ότι πακέτο έρχεται απο το υποδίκτυο 192.168.0.0/24 να πηγαίνει στο tun0 network interface" δηλαδή στο υποδίκτυο του VPN.
Και στη συνέχεια πάμε στις συσκευές του υποδικτύου 192.168.0.0/24 και δηλώνουμε σε κάθε συσκευή , οτι θα έχουν για default gateway(προεπιλεγμένη πύλη) το 192.168.0.2. Η εντολή είναι αυτή:
route add default gw 192.168.0.2 eth1
Υ.Γ
Το άρθρο ήταν παρόμοιο με το προηγούμενο... κάποιος όμως που δεν καταλαβαίνει τα iptables μπορεί να βοηθηθεί.
Αναμένονται πολλά άλλα άρθρα που σχετίζονται με linux, δίκτυα, προγραμματισμό, ασφάλεια κλπ.
Ευχαριστώ.
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου