Nowe posty

Autor Wątek: Problem z cronem  (Przeczytany 2648 razy)

set80

  • Gość
Problem z cronem
« dnia: 2015-03-31, 09:57:01 »
Witam,
Od razu zaznaczę, że jestem początkujący w temacie linuxa więc proszę o wyrozumiałość.
Chciałbym, aby serwer wypuszczał ruch na innym adresie IP każdego dnia. Oczywiście wszystkie interfejsy zostały skonfigurowane.
Utworzyłem zadania w crontab dla każdego dnia, np:

#Zmiana IP 5-go dnia miesiaca:
0 3 5 * *       iptables -t nat -I POSTROUTING -o eth0 -p tcp -j SNAT --to-source XXX.XXX.XXX.XXX

Niestety mimo że cron wykonuje polecenie to ruch nie wychodzi na określonym IP.

/var/log/syslog:
Mar 31 03:00:01 host794 /USR/SBIN/CRON[7510]: (root) CMD (iptables -t nat -I POSTROUTING -o eth0 -p tcp -j SNAT --to-source XXX.XXX.XXX.XXX)
Mar 31 03:00:01 host794 /USR/SBIN/CRON[7509]: (CRON) info (No MTA installed, discarding output)

Wpisanie tego samego polecenia w konsoli daje oczekiwany efekt, co zepsułem w crontab?

pawtaj

  • Gość
Problem z cronem
« Odpowiedź #1 dnia: 2015-03-31, 12:20:52 »
przed iptables dodaj root
pewnie o to chodzi czyli o prawa

set80

  • Gość
Problem z cronem
« Odpowiedź #2 dnia: 2015-04-01, 08:23:46 »
Cytat: pawtaj
przed iptables dodaj root
pewnie o to chodzi czyli o prawa
Niestety nic to nie zmieniło. Logi są takie same a polecenie nie jest nadal wykonywane

aston.marcin

  • Gość
Problem z cronem
« Odpowiedź #3 dnia: 2015-04-01, 08:55:33 »
Jeżeli polecenie odpalane przez crona generuje wyjście, cron będzie je wysyłał mailem do lokalnego użytkownika. W swoim systemie nie masz oprogramowania do wysyłania maili, świadczy o tym druga linijka sysloga:

Cytat: set80
Mar 31 03:00:01 host794 /USR/SBIN/CRON[7509]: (CRON) info (No MTA installed, discarding output)
Zainstaluj więc serwer poczty (sendmail, exim, postfix), poczekaj na uruchomienie polecenia  przez crona i sprawdź pocztę swojego użytkownika (np. za pomocą mutt). Powinieneś mieć w niej powód niewykonania polecenia.

set80

  • Gość
Problem z cronem
« Odpowiedź #4 dnia: 2015-04-01, 12:03:41 »
Po instalacji sendmaila cron wysyła mi następujący błąd:
/bin/sh: 1: iptables: not found

Polecenie: ls -l /sbin/iptables
daje wynik:  lrwxrwxrwx 1 root root 13 mar 1 2013 /sbin/iptables -> xtables-multi

aston.marcin

  • Gość
Problem z cronem
« Odpowiedź #5 dnia: 2015-04-01, 14:28:30 »
W takim razie spróbuj odwołać się do iptables pełną ścieżką:

0 3 5 * * /sbin/iptables -t nat -I POSTROUTING -o eth0 -p tcp -j SNAT --to-source XXX.XXX.XXX.XXX
bądź

0 3 5 * * xtables-multi -t nat -I POSTROUTING -o eth0 -p tcp -j SNAT --to-source XXX.XXX.XXX.XXX

set80

  • Gość
Problem z cronem
« Odpowiedź #6 dnia: 2015-04-01, 14:47:25 »
Cytat: aston.marcin
W takim razie spróbuj odwołać się do iptables pełną ścieżką:

0 3 5 * * /sbin/iptables -t nat -I POSTROUTING -o eth0 -p tcp -j SNAT --to-source XXX.XXX.XXX.XXX
bądź

0 3 5 * * xtables-multi -t nat -I POSTROUTING -o eth0 -p tcp -j SNAT --to-source XXX.XXX.XXX.XXX
I to rozwiązało problem!
Serdeczne dzięki za pomoc!