hoe iptables instellen?

Pagina: 1
Acties:

  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 11-02 14:42
Ten eerste: ik wist geen betere topictitel, misschien heeft iemand een andere suggestie en kan een modje het aanpassen...

Ik heb sinds kort een VPN server draaien (Linux Debian, kernel 2.6.8, pptpd, pppd+mppe patch). De VPN op zich werkt prima, maar het belangrijkste doel van de VPN is online spellen spelen die gemaakt zijn voor LAN :)

Als een pc verbinding maakt met mijn server, heeft deze op zijn eigen netwerk natuurlijk al een ip, bijvoorbeeld 192.168.0.15. Van mijn server krijgt die een nieuw ip voor de VPN verbinding, bijvoorbeeld 192.168.50.10. Ik heb gekozen voor 192.168.50.*, omdat niemand deze range thuis gebruikt, zodat er geen conflicten gaan ontstaan. Tot zo ver lijkt me alles goed.

Omdat de pc die nu verbinding heeft 2 ip adressen heeft, gebruikt ie ze ook allebei vrolijk, de server kant van de VPN krijgt dus ook berichten vanaf ip 192.168.0.15, wat helemaal niet bekend is bij de server. Stel dat er een bericht komt van 192.168.50.10 naar 192.168.50.11, dan gaat dit prima en is er heen en weer verkeer. Als er een broadcast (bericht naar 255.255.255.255) vanaf ip 192.168.0.15 komt, stopt hij bij de VPN server. Hoe los ik dit op? Ik ben er tot nu toe van uit gegaan dat het met iptables moet (of minstens kan), maar misschien is er wel een betere oplossing.

Ik heb voor de gein eens geprobeerd wat er gebeurd als ik 192.168.0.15 via "route add" toevoeg (zowel op de client als op de server en in beide richtingen). In dit geval heb ik dus 2 clients en die kunnen elkaar ook op hun lokale ip pingen... leuk, maar daar houd het mee op :)

Met iptables heb ik een aantal dingen geprobeerd, hier wat laatste probeerseltjes waarvan ik het nog weet:
code:
1
2
3
4
5
6
7
8
9
10
11
# mark incoming packets
iptables -t mangle -A PREROUTING -s 0/0 -i $PPP_IFACE -j MARK --set-mark 1

# change SOURCE in ip-header on INCOMING packets
iptables -t nat -A POSTROUTING -m mark --mark 1 -j SNAT --to-source $PPP_REMOTE

# forward packets from this interface to other VPN-clients
iptables -A FORWARD -i $PPP_IFACE -d 192.168.50.0/24 -j ACCEPT

# forward packets from other VPN-clients to this interface
iptables -A FORWARD -i $PPP_IFACE -s 192.168.50.0/24 -j ACCEPT

Het idee was dat deze voor iedere nieuwe verbinding geladen werden (en gereset wanneer de verbinding verbroken word). De regel waarin de source-header word aangepast werkt niet, maar hij klaagt ook niet (geen foutmeldingen). Ik heb al geprobeerd via IRC wat uit de mensen in #iptables op irc.freenode.net te krijgen, daar kreeg ik de hint om met marks te werken. Omdat die mensen te weinig aanwezig zijn kan ik er geen vragen stellen en met alleen die hint kom ik er dus niet.

Alvast bedankt en sorry voor de enorme lap tekst ;)