Shorewall i konfiguracja iptables

Masz problemy z siecią bądź internetem? Zapytaj tu
devu
Posty: 12
Rejestracja: 28 listopada 2007, 01:11

Shorewall i konfiguracja iptables

Post autor: devu »

Dzień dobry,

log:

Kod: Zaznacz cały

Shorewall:all2all:REJECT:IN=eth1 OUT=eth0 SRC=10.0.0.121
DST=213.17.192.91 LEN=84 TOS=0x00 PREC=0x00 TTL=249 ID=159 PROTO=UDP
SPT=60243 DPT=514 LEN=64
Shorewall:all2all:REJECT:IN=eth1 OUT=eth0 SRC=10.0.0.121
DST=213.218.116.66 LEN=370 TOS=0x08 PREC=0x60 TTL=249 ID=160 PROTO=UDP
SPT=5060 DPT=5060 LEN=350
eth0 - internet
eth1 - lan
I teraz chciałbym ustawić itables tak aby przepuszczał pakiety UDP przychodzące na port 5060 z internetu do hosta w wewnątrz - niech to będzie np. 10.0.0.121 i odwrotnie. Czyli z hosta 10.0.0.121 do internetu. Proszę Was serdecznie o pomoc.

Nie pomogło:

Kod: Zaznacz cały

iptables -A INPUT -i ALL -p UDP --dport 5060 -s 10.0.0.121 -j ACCEPT
iptables -A INPUT -i ALL -p UDP --dport 5060 -d 10.0.0.121 -j ACCEPT
iptables -A INPUT -i ALL -p UDP --dport 5060 -s 213.218.116.65 -j ACCEPT
iptables -A INPUT -i ALL -p UDP --dport 5060 -d 213.218.116.65 -j ACCEPT
Pozdrawiam.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

To musisz użyć PREROUTING - o przekierowanie Ci chodzi?
devu
Posty: 12
Rejestracja: 28 listopada 2007, 01:11

Post autor: devu »

grzesiek, dziękuje Ci za odpowiedź.
Dokładnie wydaje mi się że chodzi o prerouting. Czy mógłbyś napisać mi takową regułkę? Ja wykombinowałem coś takiego:

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -i eth1 -d zew_ip -p udp --dport 5060 -j DNAT --to 10.0.0.121
Co o tym sądzisz?

Pozdrawiam.
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

No i dobrze napisałeś jak Ci działa, bo ja bym jeszcze napisał na samym końcu DNAT --to 10.0.0.121:5060
devu
Posty: 12
Rejestracja: 28 listopada 2007, 01:11

Post autor: devu »

Problem w tym, że właśnie nie bardzo działa. Cały czas: REJECT

Podobnie:

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -p udp -i eth0 --dport 5060 -j DNAT --to
10.0.0.121

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p udp --dport 5060 -d 10.0.0.121 -j ACCEPT
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -p udp -i eth0 --dport 5060 -j DNAT --to 10.0.0.121:5060
nie działa? Masz włączone przekazywanie pakietów?
devu
Posty: 12
Rejestracja: 28 listopada 2007, 01:11

Post autor: devu »

Tak, posiadam włączone przekazywanie pakietów:

Kod: Zaznacz cały

[root@router root]# cat /proc/sys/net/ipv4/ip_forward
1
Awatar użytkownika
grzesiek
Junior Member
Posty: 932
Rejestracja: 06 stycznia 2008, 10:41
Lokalizacja: Białystok

Post autor: grzesiek »

Może masz wcześniej jakieś reguły, które blokują te połączenie (np. ogólne reguły dla OUTPUT) albo Twój odbiorca to robi. Przetestuj połączenie od Ciebie do tego hosta.
wojtekz_
Beginner
Posty: 337
Rejestracja: 13 marca 2007, 16:50
Lokalizacja: Warszawa

Re: Shorewall i konfiguracja iptables

Post autor: wojtekz_ »

devu pisze:Dzień dobry,

log:

Kod: Zaznacz cały

Shorewall:all2all:REJECT:IN=eth1...
Jak widać to shorewall Ci tak robi. Zerknij do jego pliku konfiguracyjnego i dokumentacji. Przez ręczne grzebanie w iptables chyba niewiele wskórasz, bo shorewall tam nieźle miesza. Albo wywal shorewall'a i wszystko rób ręcznie. I to kusi i to nęci... ;-)

Pozdrawiam
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Post autor: sethiel »

Jeśli używasz Shorewalla to on niejako zabezpiecza iptables, czyli edycja iptables nic nie da. Tylko zmieniając konfiguracje shorewalla możesz zmienić reguły firewalla.
Wpis o który Ci chodzi to w pliku /etc/shorewall/rules

Kod: Zaznacz cały

DNAT             all             lan:10.0.0.121:5060         udp     5060    -       $FW
ODPOWIEDZ