Решено: arno-iptables-firewall + web-сервер

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

DedMustDie
Сообщения: 3

Решено: arno-iptables-firewall + web-сервер

Сообщение DedMustDie »

Ситуация банальная до безобразия, но не могу понять в чём проблема.
Обращаюсь за помощью только из-за того, что надо сделать срочно, но не получается быстро... так бы обязательно допыхтелся сам.
Человек, писавший правила, ушёл

Ситуация следющая:
есть роутер с arno-iptables-firewall на Debian'е. внешний IP-адрес, допустим, - 1.2.3.4, внутренний - 192.168.8.250. В локалке есть веб-сервер, который надо сделать доступным извне (его адрес в локалке - 192.168.8.241).
из локалки по внешнему адресу всё работает, а извне - нет.

Код: Выделить всё

#файл custom-rules:

# Load/insert user plugins
##########################
if [ -e /etc/arno-iptables-firewall/plugins/* ]; then
  echo "Loading (user) plugins"
  for plugin in /etc/arno-iptables-firewall/plugins/*; do
    . $plugin
  done
fi

# Put any custom (iptables) rules here down below:
##################################################
echo "Loading (user) rules"

#$IPTABLES -P INPUT ACCEPT
#$IPTABLES -P OUTPUT ACCEPT
#$IPTABLES -P FORWARD ACCEPT

$IPTABLES -A INPUT -p tcp -i ppp8 -d 1.2.3.4 --dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p all -i ppp8 -d 1.2.3.4 --dport 80 -j ACCEPT

#$IPTABLES -t nat -A PREROUTING -p all -d 1.2.3.4 --dport 80 -j DNAT --to-destination 192.168.8.241:80
#$IPTABLES -A FORWARD -p all -i ppp8 -d 1.2.3.4 --dport 80 -j ACCEPT

$IPTABLES -t nat -A PREROUTING --dst 1.2.3.4 -p tcp --dport 80 -j DNAT --to-destination 192.168.8.241
$IPTABLES -t nat -A POSTROUTING -p tcp --dst 192.168.8.241 --dport 80 -j SNAT --to-source 192.168.8.250
$IPTABLES -t nat -A OUTPUT --dst 1.2.3.4 -p tcp --dport 80 -j DNAT --to-destination 192.168.8.241


$IPTABLES -A INPUT -p tcp -i eth1 -d 10.10.3.14 --dport 25 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i eth1 -d 10.10.3.14 --dport 110 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i eth1 -d 10.10.3.14 --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p udp -i eth1 -d 10.10.3.14 --dport 53 -j ACCEPT
$IPTABLES -A INPUT -p tcp -i eth1 -d 10.10.3.14 --dport 1723 -j ACCEPT
$IPTABLES -I FORWARD -p ALL -i eth0 -s 192.168.8.0/24 -j DROP
$IPTABLES -I FORWARD -p tcp -i eth0 -d 0.0.0.0/0 --dport 25 -m iprange --src-range 192.168.8.230-192.168.8.249 -j ACCEPT
$IPTABLES -I FORWARD -p tcp -i eth0 -d 0.0.0.0/0 --dport 110 -m iprange --src-range 192.168.8.230-192.168.8.249 -j ACCEPT
$IPTABLES -I FORWARD -p tcp -i eth0 -d 0.0.0.0/0 --dport 20 -m iprange --src-range 192.168.8.230-192.168.8.249 -j ACCEPT
$IPTABLES -I FORWARD -p tcp -i eth0 -d 0.0.0.0/0 --dport 21 -m iprange --src-range 192.168.8.230-192.168.8.249 -j ACCEPT
$IPTABLES -I FORWARD -p all -i eth0 -d 0.0.0.0/0 -m iprange --src-range 192.168.8.240-192.168.8.249 -j ACCEPT

$IPTABLES -t nat -A POSTROUTING -s 192.168.8.0/24 --out-interface ppp8 -j SNAT --to-source 1.2.3.4

$IPTABLES -I FORWARD -p all -i ppp8 -s 192.168.8.0/24 -j DROP
$IPTABLES -I FORWARD -p tcp -i ppp8 -d 0.0.0.0/0 --dport 25 -m iprange --src-range 192.168.8.230-192.168.8.239 -j ACCEPT
$IPTABLES -I FORWARD -p tcp -i ppp8 -d 0.0.0.0/0 --dport 110 -m iprange --src-range 192.168.8.230-192.168.8.239 -j ACCEPT
$IPTABLES -I FORWARD -p tcp -i ppp8 -d 0.0.0.0/0 --dport 20 -m iprange --src-range 192.168.8.230-192.168.8.239 -j ACCEPT
$IPTABLES -I FORWARD -p tcp -i ppp8 -d 0.0.0.0/0 --dport 21 -m iprange --src-range 192.168.8.230-192.168.8.239 -j ACCEPT
$IPTABLES -I FORWARD -p all -i ppp8 -d 0.0.0.0/0 -m iprange --src-range 192.168.8.240-192.168.8.249 -j ACCEPT
$IPTABLES -I INPUT -i ppp+ -s 192.168.7.0/24 -j ACCEPT
$IPTABLES -I OUTPUT -o ppp+ -s 192.168.7.0/24 -j ACCEPT
$IPTABLES -t nat -I POSTROUTING -s 192.168.7.0/24 -j MASQUERADE
$IPTABLES -I FORWARD -p all -s 192.168.7.2 -j ACCEPT
$IPTABLES -I FORWARD -p all -d 192.168.8.0/24 -m iprange --src-range 192.168.7.3-192.168.7.10 -j ACCEPT
$IPTABLES -I FORWARD -i eth0 -d 192.168.7.0/24 -j ACCEPT


Сам пытался колдовать... Уже столько перечитал, но пока не могу до конца в это дело вкурить
Заранее спасибо!
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: Решено: arno-iptables-firewall + web-сервер

Сообщение Alex2ndr »

Вы временно выкинте все правила и оставьте только это -

Код: Выделить всё

#$IPTABLES -P INPUT ACCEPT
#$IPTABLES -P OUTPUT ACCEPT
#$IPTABLES -P FORWARD ACCEPT

#$IPTABLES -t nat -A PREROUTING -p tcp -d 1.2.3.4 --dport 80 -j DNAT --to-destination 192.168.8.241:80

Ибо наворочено у вас там страшно :) - многое дублируется и тд. Попробуйте так а если заработает то потом добавляйте по мере надобности.
Должен также заметить что 1.2.3.4 должен быть публичным адресом (т е белым ip). И если у вас там есть соединение типа ppp (т е какой-то впн для авторизации у провайдера) то это будет не внешний адрес на сетевой карте а адрес получаемый ppp интерфейсом. Грубо говоря он должен пинговаться извне.
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Решено: arno-iptables-firewall + web-сервер

Сообщение Ленивая Бестолочь »

вы лучше определитесь - вы живете по правилам arno-iptables или сами? если сами, тогда вам arno и не нужен.
а если пользоваться arno - в файле /etc/arno-iptables-firewall/firewall.conf ищите по слову forward - там все понятно.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
DedMustDie
Сообщения: 3

Re: Решено: arno-iptables-firewall + web-сервер

Сообщение DedMustDie »

Сейчас попробую и посмотрю. Спасибо в любом случае!
Спасибо сказали:
DedMustDie
Сообщения: 3

Re: Решено: arno-iptables-firewall + web-сервер

Сообщение DedMustDie »

В общем поколдовал - заработало. Правда точно не понял до конца после чего. Позже разберусь чего точно не хватало.

Что сделал:
посмотрел логи - блокировался форвард.
В /etc/arno-iptables-firewall/firewall.conf добавил форвард 80го порта на IP сервера (NAT_TCP_forward что ли параметр...)
Добавил форвард
$IPTABLES -I FORWARD -p all -i ppp8 -d 192.168.8.241 -j DROP

Ещё пару форвардов добавлял, но кажется после этого заработало только. В 11 ночера уже некогда было разбираться:)

Всем спасибо
Спасибо сказали: