Ivm de verhuizing van een server wil ik graag een tijdelijke oplossing voor een ip probleempje:
De situatie ziet er als volgt uit: Twee netwerken die elk aan het internet hangen, maar een ander lokaal subnet gebruiken. Bij router 1 is dit 192.168.1.0/24, bij router 2 is dit 192.168.2.0/24. Router 1 (DD-WRT) draait een OpenVPN server en geeft clients die verbinden een ip in de 192.168.0.0/24 range.
:fill(white):strip_exif()/f/image/xqdzWZwcBpo8Xry3QnBzcVbd.png?f=user_large)
De server achter router 2 verbindt met de OpenVPN-server op router 1, en ontvang het ip 192.168.0.2. De client achter router 1 (192.168.1.1) kan nu communiceren met de server door dit ip (192.168.0.2) te gebruiken.
Nu mijn vraag: Is het mogelijk om middels iptables op router 1 een 'virtueel' ip te maken voor de server, zodat de client deze kan bereiken via een 192.168.1.0/24 adres? Oftewel, een soort NAT rule die lokaal LAN verkeer naar een specifiek adres (bijv. 192.168.1.2) dat niet gebruikt wordt omschrijft naar een OpenVPN ip (192.168.0.2).
Waarom zou ik dit willen? Er draait ergens een embedded systeempje ('client') dat met een harcoded ip ('server', die eerst achter router 1 zat en nu achter router 2 zit) wil verbinden, en gezien de huidige omstandigheden kan ik niet even langs om de firmware te updaten.
Oplossing:
192.168.0.2 is het adres van de server dat het van OpenVPN krijgt, 192.168.1.33 is het adres waarop ik deze server bereikbaar wil maken.
1. Maak NAT rules aan op router 1 dmv iptables:
2. Zorg dat de clients weten dat verkeer voor dit nieuwe adres naar router 1 moet, door dit als extra ip toe te voegen in router 1 (hier ging het fout!):
Thx GlowMouse!
De situatie ziet er als volgt uit: Twee netwerken die elk aan het internet hangen, maar een ander lokaal subnet gebruiken. Bij router 1 is dit 192.168.1.0/24, bij router 2 is dit 192.168.2.0/24. Router 1 (DD-WRT) draait een OpenVPN server en geeft clients die verbinden een ip in de 192.168.0.0/24 range.
:fill(white):strip_exif()/f/image/xqdzWZwcBpo8Xry3QnBzcVbd.png?f=user_large)
De server achter router 2 verbindt met de OpenVPN-server op router 1, en ontvang het ip 192.168.0.2. De client achter router 1 (192.168.1.1) kan nu communiceren met de server door dit ip (192.168.0.2) te gebruiken.
Nu mijn vraag: Is het mogelijk om middels iptables op router 1 een 'virtueel' ip te maken voor de server, zodat de client deze kan bereiken via een 192.168.1.0/24 adres? Oftewel, een soort NAT rule die lokaal LAN verkeer naar een specifiek adres (bijv. 192.168.1.2) dat niet gebruikt wordt omschrijft naar een OpenVPN ip (192.168.0.2).
Waarom zou ik dit willen? Er draait ergens een embedded systeempje ('client') dat met een harcoded ip ('server', die eerst achter router 1 zat en nu achter router 2 zit) wil verbinden, en gezien de huidige omstandigheden kan ik niet even langs om de firmware te updaten.
Oplossing:
192.168.0.2 is het adres van de server dat het van OpenVPN krijgt, 192.168.1.33 is het adres waarop ik deze server bereikbaar wil maken.
1. Maak NAT rules aan op router 1 dmv iptables:
code:
1
2
3
| iptables -t nat -I PREROUTING -d 192.168.1.33 -j DNAT --to 192.168.0.2 iptables -t nat -I POSTROUTING -s 192.168.0.2 -j SNAT --to 192.168.1.33 iptables -I FORWARD -d 192.168.0.2 -p tcp --dport 80 -j ACCEPT |
2. Zorg dat de clients weten dat verkeer voor dit nieuwe adres naar router 1 moet, door dit als extra ip toe te voegen in router 1 (hier ging het fout!):
code:
1
| ifconfig br0:1 192.168.1.33 255.255.255.0 |
Thx GlowMouse!
[ Voor 20% gewijzigd door RoL0 op 25-04-2020 00:49 . Reden: oplossing toegevoegd ]