W dniu 2011-09-13 08:03, Jakub pisze:
Witam Przeszukałem listę znalazłem parę rozwiązań ale coś do końca mi nie działają. Zrobiłem tak:
- Przegrałem pliki ze squid_redirector na katalogu gdzie jest virtualka na porcie 85
- lms-makemessages tworzy regułki ktore przekierowują na ip_serwera:85 wyświetla się komunikat i jest ok.
- w index.php dodałem wpis
system("sudo /usr/sbin/iptables -t nat -D MESSAGES -p tcp -s ".$_SERVER['REMOTE_ADDR']." -j DNAT --to 10.0.1.1:85"); za linią DB->Execute('UPDATE nodes SET warning = 0 WHERE id = ?', array($nodeid)); Prawa dla www-data w sudo są nadane. Po potwierdzeniu przeczytania komunikatu nic się nie dzieje tak jak by ta sekcja cała nie działała if (isset($_GET['readed'])) { $DB->Execute('UPDATE nodes SET warning = 0 WHERE id = ?', array($nodeid)); system("sudo /usr/sbin/iptables -t nat -D MESSAGES -p tcp -s ".$_SERVER['REMOTE_ADDR']." -j DNAT --to 10.0.1.1:85"); header)'Location: '.$_GET ['oldurl']); } Jak wpiszę to na samym końcu czyli przed znakiem ?> system("sudo /usr/sbin/iptables -t nat -D MESSAGES -p tcp -s ".$_SERVER['REMOTE_ADDR']." -j DNAT --to 10.0.1.1:85"); to się wykonuje tylko nie zdąży pokazać komunikatu, bo kasuje przekierowanie :) Proszę o pomoc jak zrobić przekierowania.
najlepiej jakbyś to oparł na tablicach ipset, skrypt będzie generował tablicę ipset a klient potwierdzeniu albo usuwa swoj wpis z tablicy albo dopisuje do drugiej gdzie sa potwierdzenia przeczytania