LINUX.ORG.RU
решено ФорумAdmin

IP routing проблема

 ip routing


0

1

Доброго времени суток. Подскажите пожалуйста как можно решить такую проблему: есть серв с «белым» IP 80.250.163.83. На нем зацеплен Virtualmin со своим 10.180.6.30. В iptables записал такое: -A PREROUTING -d 80.250.163.83 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.180.6.30:80 -A POSTROUTING -s 10.180.6.30/255.255.248.0 -o eth0 -j SNAT --to-source 80.250.163.83 ПО-идее должно работать, но пинг на 10.180.6.30 не проходит..... В чем м.б. проблема?

Дак тебе чего надо, чтобы виртуалмин снаружи был доступен (тогда достаточно первой строчки и еще в цепочках инпут-аутпут нужны разрешения) или чтобы пингалось из частной подсетки (тогда этого ничего не нужно, а в цепочках инпут-аутпут нужны разрешения для ицмп)

ansky ★★★★★
()
Ответ на: комментарий от ansky

Да - нужно, что-бы виртуалмин был снаружи доступен, т.к. на второй адрес повесится сайт. А можно по-точнее на счет строчки с ицмп. Пожалуйста.

xanderlexx
() автор топика
Ответ на: комментарий от ansky

... (тогда достаточно первой строчки и еще в цепочках инпут-аутпут нужны разрешения) т.е. ACCEPT на «трафик» для второго адреса по портам?

xanderlexx
() автор топика
Ответ на: комментарий от gh0stwizard

А что, виртуалмин не на 80 порту?

ТС, показывай ипитаблесы и раскладку интерфейсов полностью, а то непонятно, чего ты хочешь.

ansky ★★★★★
()
Ответ на: комментарий от gh0stwizard

Дабы не мутить воду, хочу показать конфиг, дабы не быть голословным:

# Generated by webmin
*filter
-A INPUT -j LOG
-A FORWARD -j LOG
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit 1/hour --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name SSH --hashlimit-htable-expire 60000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,RST,ACK SYN -j DROP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -m hashlimit --hashlimit 1/hour --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name SS$
-A INPUT -p tcp -m tcp --dport 80 --tcp-flags SYN,RST,ACK SYN -j DROP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
#-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p udp -m udp --dport ftp-data -j ACCEPT
-A INPUT -p udp -m udp --dport ftp -j ACCEPT
-A INPUT -p udp -m udp --dport domain -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport https -j ACCEPT
-A INPUT -p tcp -m tcp --dport http -j ACCEPT
-A INPUT -p tcp -m tcp --dport imaps -j ACCEPT
-A INPUT -p tcp -m tcp --dport imap -j ACCEPT
-A INPUT -p tcp -m tcp --dport pop3s -j ACCEPT
-A INPUT -p tcp -m tcp --dport pop3 -j ACCEPT
-A INPUT -p tcp -m tcp --dport ftp-data -j ACCEPT
-A INPUT -p tcp -m tcp --dport ftp -j ACCEPT
-A INPUT -p tcp -m tcp --dport domain -j ACCEPT
-A INPUT -p tcp -m tcp --dport submission -j ACCEPT
-A INPUT -p tcp -m tcp --dport smtp -j ACCEPT
-A INPUT -p tcp -m tcp --dport ssh -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 80 -j ACCEPT 
-A INPUT -d 10.180.6.30/255.255.255.192 -i eth0 -p icmp -j ACCEPT
-A INPUT -d 10.180.6.30/255.255.255.192 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -d 10.180.6.30/255.255.255.192 -p udp -m udp --dport 80 -j ACCEPT
COMMIT
# Completed
# Generated by webmin
*mangle
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed
# Generated by webmin
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# to 10.180.6.30
-A PREROUTING -d 80.250.163.83 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.180.6.30:80 
-A POSTROUTING -s 10.180.6.30/255.255.255.192 -o eth0 -j SNAT --to-source 80.250.163.83
COMMIT
# Completed
Ребят, если не сложно, тыкните носом.

xanderlexx
() автор топика
Ответ на: комментарий от ansky

Сорь, чуток обздался. Виртуалмин виден и я могу зайти в панель. 10.180.6.30 - внутренний адрес, который виртуалмин подставляет для созданных сервов. Т.е. если я создаю новый вирт. серв. и виртуалмин лепит ему 10.180.6.30 - то этот адрес не виден наружу. Я потому и затеял всю эту кашу, дабы внутренний адрес с вирт. сервом выпустить наружу через видимый. Еще раз прошу прощения.

xanderlexx
() автор топика

ПО-идее должно работать, но пинг на 10.180.6.30 не проходит....

У тя правил для icmp пакетов в forward и nat нэту. Потому и не проходит.

-A INPUT -d 10.180.6.30/255.255.255.192 -i eth0 -p icmp -j ACCEPT

Етим правилом ты говорищь что разрешаешь пинки для твоего вирт, по пинки до него через input не ходят - они ходят через forward.

aeX1pu2b
()
Ответ на: комментарий от aeX1pu2b

Ага. Значит, в моем случае: -A FORWARD -m state -p tcp -d 10.180.6.30 --dport 80 --state NEW,ESTABLISHED,RELATED -j ACCEPT

-A FORWARD -d 10.180.6.30/255.255.255.192 -i eth0 -p icmp -j ACCEPT

Так? Блин уже голова не варит, а доделать нужно....

xanderlexx
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.