[iptables] Werk IP door IPIP-tunnel

Pagina: 1
Acties:

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
code:
1
2
3
4
/usr/local/bin/ip tunnel add vpn0 mode ipip local xxx.xxx.xxx.xxx remote yyy.yyy.yyy.yyy ttl 255
ifconfig vpn0 10.0.2.2 netmask 255.255.255.0
route del -net 10.0.2.0 netmask 255.255.255.0 vpn0
route add -net 10.0.0.0 netmask 255.255.255.0 metric 1 vpn0

xxx.xxx.xxx.xxx is dus mijn eigen externe IP, yyy.yyy.yyy.yyy het IP van de bak waarmee de tunnel gemaakt is.

Alles wat daarop binnen komt wordt geaccept door iptables:
code:
1
iptables -t filter -A INPUT -p ipip -s yyy.yyy.yyy.yyy -i eth0 -j ACCEPT

eth0 is dus de externe adapter. Deze regel werkt prima.

Nu wil ik dat alleen het ip 10.0.1.1 SSH toegang heeft. Dit dacht ik te doen door:
code:
1
iptables -t filter -A INPUT -p tcp -s ! 10.0.1.1 --dport 22 -i vpn0 -j DROP

Deze regel werkt alleen niet..
code:
1
iptables -t filter -A INPUT -p tcp --dport 22 -i vpn0 -j ACCEPT

werkt wel.. SSH verbinding kan gemaakt worden, alleen ook door álle IPs over het vpn
code:
1
iptables -t filter -A INPUT -p tcp -s 10.0.1.1 --dport 22 -i vpn0 -j ACCEPT

werkt weer niet! Policy van INPUT is DROP, en alles over vpn0 wordt gedropped..

Vreemd, vond ik. Ik liet alles even toe, en maakte die SSH-verbinding vanaf 10.0.1.1 en keek in me netstat. Welk IP zag ik daar?
code:
1
::ffff:10.0.1.1

:? :? Mijn vraag: weet iemand hier een oplossing voor? ;)

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
Skupje ;)

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
Is dit echt een moeilijk probleem of is dit topic in het verkeerde forum geplaatst (Networking ofzo ipv hier)? Ik vinnut niet leuk om te skuppen namelijk :| Naja, hopen op jullie dan maar :)
offtopic:
en dan nu toch maar echt slapen!

  • Wilke
  • Registratie: December 2000
  • Laatst online: 11:43
Het is echt zo lastig...de kans dat mensen ongeveer een zelfde soort setup hebben zodat ze kunnen experimenteren met wat wel werkt is niet enorm groot.

Ik kan precies volgen wat je probeert maar ben, net als jij, vrijwel clueless over waarom het niet werkt. Nog een vraagje: wil je nou dat je alleen vanaf 10.0.1.1 via vpn0 naar xxx.xxx.xxx.xxx kunt SSHen, en niet via de rest van het VPN (en uiteraard ook niet van eth0, wat niet eens kan, maar toch)?

Ah....!!! Ik lees net de iptables manual page en zie toch nog een reden waarom het misschien niet werkt: je gebruikt '-t filter' in combinatie met '-i vpn0'. Bij -i staat in de manpage:

-i, --in-interface [!] name
Name of an interface via which a packet is going to
be received (only for packets entering the INPUT,
FORWARD and PREROUTING chains)
.
Zou dat het probleem kunnen zijn? Je zit hier in de 'filter' chain, dus niet in 'input' 'forward' of 'prerouting' (denk ik...) :?

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
-t filter -A INPUT..
wel de INPUT-chain :)

Ik wil per ip dat over -i vpn0 binnenkomt (in de 10.0.x.x range) kunnen zeggen welke er wél mogen SSH-en.. De rest wordt gewoon gedropped.. Maar als ik een IP erbij opgeef, pakt ie die regel dus niet, omdat waarschijnlijk het IP ::ffff:10.0.0.0/16 gebruikt wordt, die vage ::ffff: dus :|

  • imdos
  • Registratie: Maart 2000
  • Laatst online: 13-05 12:04

imdos

I use FreeNAS and Ubuntu

die ::ffff: duidt op een ipv6 ip-adres en de rest van je dingen is allemaal ipv4!

Verder kan ik echt niets nuttigs meer bedenken

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

elviver schreef op 22 november 2002 @ 15:16:
Nu wil ik dat alleen het ip 10.0.1.1 SSH toegang heeft. Dit dacht ik te doen door:
code:
code:
1
iptables -t filter -A INPUT -p tcp -s ! 10.0.1.1 --dport 22 -i vpn0 -j DROP


Deze regel werkt alleen niet..
Logisch, dan drop je alles aangezien je chain policy DROP is :?
code:
1
iptables -t filter -A INPUT -p tcp --dport 22 -i vpn0 -j ACCEPT

werkt wel.. SSH verbinding kan gemaakt worden, alleen ook door álle IPs over het vpn
code:
1
iptables -t filter -A INPUT -p tcp -s 10.0.1.1 --dport 22 -i vpn0 -j ACCEPT

werkt weer niet! Policy van INPUT is DROP, en alles over vpn0 wordt gedropped..
Heeft die andere bak soms SNAT of MASQUERADING in zijn POSTROUTING chain. Mogelijk dat dan alle pakketjes afkomstig lijken van die bak ipv 10.0.1.1.

Zet eventueel (tijdelijk) de regel:

code:
1
iptables -t filter -A INPUT -j LOG


aan het einde van de INPUT chain zodat je kan zien wat er allemaal binnen komt en waarom het gedropt wordt.

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)

Pagina: 1