Asty
(Asty)
24 Kwiecień 2010 18:37
#1
Witajcie.
Muszę przekierować port na serwerze z publicznym IP na inny serwer - na konkretny port. Niby sprawa prosta, ale żadna z reguł nie działa.
Przekierowanie jakie chcę uzyskać to
serwer1:1250 > serwer2:21
Załóżmy że serwery mają IP:
serwer1: 1.1.1.1
serwer2: 2.2.2.2
Oba serwery są w całkiem różnych sieciach z publicznymi IP. Adres źródłowy może być dowolny.Wg mnie teoretycznie taka reguła powinna dać efekt:
iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 1250 -j DNAT --to 2.2.2.2:21
a jednak ona nie działa. Gdzieś jest błąd? o czymś zapomniałem?
Z góry dzięki za pomoc
roobal
(roobal)
24 Kwiecień 2010 19:50
#2
Spróbuj tak:
iptables -I FORWARD -p tcp -d 1.1.1.1 --dport 1250 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp -d 1.1.1.1 --dport 1250 -j DNAT --to 2.2.2.2:21
Oczywiście reguły dodajesz w odpowiedniej kolejności w łańcuchu?
Pozdrawiam!
Asty
(Asty)
25 Kwiecień 2010 09:42
#3
niestety to też nie daje efektu jaki bym chciał.
roobal
(roobal)
25 Kwiecień 2010 19:16
#4
Reguły masz w odpowiedniej kolejności? Jak używasz jakiegoś skryptu to wklej go tutaj i podaj oprócz tego wynik polecenia:
iptables -L
Pozdrawiam!
Asty
(Asty)
25 Kwiecień 2010 19:51
#5
co do kolejności to wydaje mi się że tak. specjalnie jeszcze jako główne polityki ustawiłem akceptowanie - żeby nie było wątpliwości że ma puszczać
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-ssh tcp -- anywhere anywhere tcp dpt:1234
DROP tcp -- anywhere anywhere tcp dpt:686
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere 1.1.1.1 tcp dpt:1250
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ISPCP_OUTPUT 0 -- anywhere anywhere
Chain ISPCP_INPUT (0 references)
target prot opt source destination
tcp -- anywhere anywhere tcp dpt:imaps
tcp -- anywhere anywhere tcp dpt:pop3s
tcp -- anywhere anywhere tcp dpt:submission
tcp -- anywhere anywhere tcp dpt:smtp
tcp -- anywhere anywhere tcp dpt:imap2
tcp -- anywhere anywhere tcp dpt:pop3
tcp -- anywhere anywhere tcp dpt:https
tcp -- anywhere anywhere tcp dpt:www
RETURN 0 -- anywhere anywhere
Chain ISPCP_OUTPUT (1 references)
target prot opt source destination
tcp -- anywhere anywhere tcp spt:imaps
tcp -- anywhere anywhere tcp spt:pop3s
tcp -- anywhere anywhere tcp spt:submission
tcp -- anywhere anywhere tcp spt:smtp
tcp -- anywhere anywhere tcp spt:imap2
tcp -- anywhere anywhere tcp spt:pop3
tcp -- anywhere anywhere tcp spt:https
tcp -- anywhere anywhere tcp spt:www
RETURN 0 -- anywhere anywhere
Chain fail2ban-ssh (1 references)
target prot opt source destination
RETURN 0 -- anywhere anywhere
Zamieniłem tylko adres serwera na omawiany tutaj przypadek (1.1.1.1)
Blokuje tylko port 686, natomiast 1234 to zmienione ssh
roobal
(roobal)
25 Kwiecień 2010 20:05
#6
Wygląda, że wszystko jest dobrze. A włączyłeś w ogóle obsługę forwardingu przez jądro?
echo 1 > /proc/sys/net/ipv4/ip_forward
Pozdrawiam!
Asty
(Asty)
25 Kwiecień 2010 20:20
#7
Tak - teraz jest włączona, ale nie mam pewności czy działa normalnie - serwer stoi w ovh i działa z netbootu - jajko ładowane z sieci czy jakkolwiek oni mają tam to rozwiązane - tego nie wiem.
Co jednak nie zmienia faktu że mimo netboota powinno to działać.
roobal
(roobal)
26 Kwiecień 2010 09:45
#8
Może spróbuj sklepać sobie taki skrypt do konfiguracji zapory:
#!/bin/sh
## Aktywacja forwardingu przez jądro
echo 1 > /proc/sys/net/ipv4/ip_forward
## Czyszczenie reguł firewalla
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
## Polityka bezpieczeństwa
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
## Reguły firewalla
# Reguły łańcucha wejściowego
iptables -A INPUT -i lo -j ACCEPT
Tu podaj regułę dla SSH
iptables -A INPUT -p tcp --sport 686 -j DROP # lub podaj własną regułę blokowania portu, jeśli skonstruowałeś ją inaczej
# Reguły łańcucha przekierowań
iptables -A FORWARD -o lo -j ACCEPT
iptables -A FORWARD -p tcp -d 1.1.1.1 --dport 1250 -j ACCEPT
# Przekierowanie portów
iptables -t nat -A PREROUTING -p tcp -d 1.1.1.1 --dport 1250 -j DNAT --to 2.2.2.2:21
Pozdrawiam!