Всем привет. Прошу помощи у знатоков. Debian6 IpTables 4 таких машины
Машина №1 выступает в качестве фаервола (192,168,1,1) на ней проброшены порты 80 и 21 на машину №2. остальное закрыто
Машина №2 Веб-сервер (192,168,1,2) все прекрасно работает, кроме логов.
Ситуация такая на машине №2 в логах апача все пользователи (посетители сайта) отображаются с локальным адресом этой же машины (192,168,1,2), т.е. сервак сам себя посещает получается =)))
Куда копать подскажите? Подозреваю, что в сторону Iptables и проброс реальных адресов посетителей, но не знаю куда. Просьба сразу не пинать, форум и гугл облазял уже
> Всем привет. Прошу помощи у знатоков. Debian6 IpTables 4 таких машины
> Машина №1 выступает в качестве фаервола (192,168,1,1) на ней проброшены порты 80
> и 21 на машину №2. остальное закрыто
> Машина №2 Веб-сервер (192,168,1,2) все прекрасно работает, кроме логов.
> Ситуация такая на машине №2 в логах апача все пользователи (посетители сайта)
> отображаются с локальным адресом этой же машины (192,168,1,2), т.е. сервак
> сам себя посещает получается =)))
> Куда копать подскажите?В сторону логического мышления. Видимо, проблема в машинах 3 и 4.
> Подозреваю, что в сторону Iptables и проброс реальных адресов
> посетителей, но не знаю куда.Книжки по пакетным сетям передачи протокола TCP/IP.
Книжки по работе файрволла iptables.
Копать действительно надо в суть правил iptables, они некорректны. Возможно, также надо будет править маршрутизацию.> Просьба сразу не пинать, форум и гугл облазял уже
мало гуглил. Читать надо больше.
про машины 3 и 4 я вообще ни слова не сказал. представим что временно отсутствуют или выполняют иные функции. где связь-то? iptables только на №1
> про машины 3 и 4 я вообще ни слова не сказал.
> .... 4 таких машиныРаздвоение личности?
да они просто болтаются в сети. даже если их отключить, ничего не измениться.
копать iptables, давай его правила сюда, так будет проще найти ошибку.
замени реальный ip на набор других символов, чтоб ток понятно было что там ip и давай
*nat
:PREROUTING ACCEPT [169:13104]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 60000:60235 -j DNAT --to-destination 192.168.1.200
-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.1.200
-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.200
#-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 3636 -j DNAT --to-destination 192.168.1.225
#-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 1221 -j DNAT --to-destination 192.168.1.225
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
-A POSTROUTING -d 192.168.1.200/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 111.111.1.111
COMMIT
# Completed on Mon Jul 30 02:48:49 2012где 111,111,1,111 белый IP
вот твоя проблема:
> -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
> -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADEудали правило на интерфейс ведущий во внутреннюю сеть (если локалка через eth0 то первое правило и удаляй)
ты вообще зачем нат во внутреннюю сеть включил? не ради стеба, просто мож я чего не догоняю и у себя не включаю...
правила писал по документации http://www.opennet.me/docs/RUS/iptables/
nat в локалке, чтобы остальные пользователи могли ходить в интернет.
> правила писал по документации http://www.opennet.me/docs/RUS/iptables/
> nat в локалке, чтобы остальные пользователи могли ходить в интернет.нат должен смотреть на интерфейс который выходит наружу, а внутри он не нужен, читай что такое нат и для чего он ставиться, а соответственно и куда, ещё раз.
туплю,кажеться, не обратил внимание что ip От второй а не от 1й машины возможно что на машине 2 и надо смотреть iptables, убери там нат и проверь (пример выше), он обычно такую вещь делает. иди если стоит какой нить прокси на том сервере (т.е. например Nginx без опред настроек или сквид, а после него апач). вот. я б эти места смотрел
подкурил немного вроде, спс. удалил первое - пошли некоторые адреса.
что интересно error.log апача без проблем видит все адреса и действия
точно туплю :)нат нужен только на внешнем интерфейсе, скорее всего одно из этих правил лишнее, если eth1 internet а локалка вся только 192.168.1.0/24 (на eth0) то проще и лучше сделать:
-A POSTROUTING -o eth1 -j SNAT --to-source 111.111.1.111
всего одна строкавот это правило
-A POSTROUTING -d 192.168.1.200/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 111.111.1.111
по идее не нужно, ты написал что если кто из с твоего инет сервера или глобального инета захочет обратиться к серверу по http то подставить мой белый ip в качестве источника. оно может приводить к тому что на сервере 2 у тебя все пользователи с инета будут с одним твоим белым ip
ничего он гад не отлавливает. сейчас: eth0 внешка, eth1 локалка. правила:
nat
:PREROUTING ACCEPT [169:13104]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 60000:60235 -j DNAT --to-destination 192.168.1.200
-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.1.200
-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.200
#-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 3636 -j DNAT --to-destination 192.168.1.225
#-A PREROUTING -d 111.111.1.111/32 -p tcp -m tcp --dport 1221 -j DNAT --to-destination 192.168.1.225
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -o eth0 -j SNAT --to-source 111.111.1.111
-A FORWARD -s 192.168.0.0/24 -j ACCEPT
-A FORWARD -d 192.168.0.0/24 -j ACCEPT
COMMIT
# Completed on Mon Jul 30 02:48:49 2012
убери
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
т.к. дублирует след строку и честно гря к чему приведет хз. может будет double nat, может нет.вот это не нужно
-A FORWARD -s 192.168.0.0/24 -j ACCEPT
-A FORWARD -d 192.168.0.0/24 -j ACCEPTтеперь только через tcpdump смотреть что приходит на 192.168.1.200 и что уходит с 192.168.1.1 в ту сторону. должно работать как надо. может сам апач что крутит... или софт адрес криво берет...
точно 192.168.1.200 а не 192.168.1.2? в первом посте 192.168.1.2
> точно 192.168.1.200 а не 192.168.1.2? в первом посте 192.168.1.2точно. в первом ошибся
удалил как ты сказал, все равно глухо как в танке.
некогда больше этим заниматься. потом расскажу чем закончилось, а за помощь спасибо большое =)))