Portfreigabe (iptables) zwischen 2 vservern klappt nicht

  • Hallo zusammen,


    ich versuche gerade einen Port auf meinem vServer zu öffnen.
    srv0 soll dabei auf den Port 4949 (munin) auf srv1 zugreifen können.


    srv0 - munin-master = 1.1.1.1
    srv1 - munin-node = 1.2.3.4


    Leider scheint dies nicht zu klappen.


    srv0 (munin-master) zeigt mir in der Log folgenden Output:

    Code
    1. 2017/01/17 19:05:02 [INFO] starting work in 31349 for srv1/1.2.3.4:4949.
    2. 2017/01/17 19:05:02 [FATAL] Socket read from srv1 failed. Terminating process. at /usr/share/perl5/Munin/Master/UpdateWorker.pm line 254.



    srv1 (munin-node) hat folgende Regel für Iptables:

    Code
    1. -A INPUT -p tcp -s 1.1.1.1 --dport 4949 -j ACCEPT


    iptables -L liefert mir:


    Im syslog (srv1) sehe ich nun den folgenden Eintrag:

    Code
    1. Jan 17 19:05:45 srv1 kernel: [4221392.844861] iptables denied:
    2. IN=eth0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
    3. SRC=1.1.1.1 DST=1.2.3.4 LEN=60 TOS=0x00 PREC=0x00 TTL=63
    4. ID=46987 DF PROTO=TCP SPT=41384 DPT=4949 WINDOW=29200 RES=0x00 SYN URGP=0


    Eventuell übersehe ich etwas, kann mir jemand von Euch kurz helfen warum es nicht klappt?


    Vielen Dank.

  • Hallo,

    -A INPUT -p tcp -s 1.1.1.1 --dport 4949 -j ACCEPT


    gib doch auch mal den Port über UDP frei, sollte dann funktionieren ;)


    Evtl. ist der Dienst auf deinem Node aber auch nicht richtig konfiguriert. Ganz einfach testen kannst du das, indem du dich mal per Telnet mit deinem Node verbindest:
    telnet 1.2.3.4 4949
    Wenn das funktioniert, dann ist der Dienst problemlos erreichbar.


    Gruß Oli

  • peng : Was steht im Logfile vom Node dazu? Notfalls das Loglevel erhöhen, das ist standardmäßig aber eh sehr gesprächig.


    Normalerweise muss man die IP vom Master übrigens explizit in der munin-node.conf eintragen, hast Du das gemacht?


    gib doch auch mal den Port über UDP frei, sollte dann funktionieren ;)


    Munin verwendet nur TCP, sonst würde ja auch kein telnet funktionieren… ;)



    MfG Christian

  • Munin verwendet nur TCP, sonst würde ja auch kein telnet funktionieren…


    Sry war spät gestern Abend ^^ irgendwie war mein Kopf bei DNS und nicht bei Munin 8)


    Das syslog zeigt ja auch, dass der Zugriff per TCP kam. Kannst du mal versuchen die Firewallregel für Munin an den Anfang der INPUT-Chain zu legen?

    Code
    1. -I INPUT 1 -p tcp -s 1.1.1.1 --dport 4949 -j ACCEPT


    Wenn es dann funktioniert, dann verhindert eine deiner anderen Regeln den Zugriff, da diese bei der derzeitigen Config vorher zutrifft, dein Paket es also gar nicht bis zum "Munin-ACCEPT" schafft.


    Hilfreich wäre auch, wenn du mal

    Code
    1. iptables -L -n -v


    postest, damit wir alle Parameter sehen können.


    Gruß Oli