Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: iptables wget ошибка  (Прочитано 1173 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн melnikdima

  • Автор темы
  • Участник
  • *
  • Сообщений: 188
    • Просмотр профиля
iptables wget ошибка
« : 06 Апрель 2010, 18:20:43 »
eth0 внешняя сеть
eth1 внутренняя  192.168.5.0/24

вот такие правила

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Разрешим входящие соединения на маршрутизатор с внутренней сети (для управления)
iptables -A INPUT -i eth1 --source 192.168.5.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT

#Разрешим маршрутизатору отвечать компьютерам во внутренней сети:
iptables -A OUTPUT -o eth1 --destination 192.168.5.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT

#Разрешим перенаправление пакетов из внутренней сети во внешнюю для установки соединений
# и установленных соединений:
iptables -A FORWARD -i eth1 --source 192.168.5.0/24 --destination 0.0.0.0/0 --match state --state NEW,EST$

#Разрешим перенаправление пакетов из интернета во внутреннюю сеть только для установленных соединений:
iptables -A FORWARD -i eth0 --destination 192.168.5.0/24 --match state --state ESTABLISHED -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.5.0/16 -o eth0 -j MASQUERADE



захожу на сервер через SSH

пытаюсь сделать wget ya.ru

Цитировать
root@melhome:~# wget ya.ru
--2010-04-06 18:19:27--  http://ya.ru/
Resolving ya.ru... failed: Name or service not known.
wget: unable to resolve host address `ya.ru'

я понимаю что я что-то не открыл в iptables.
но что? и как открыть?







Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: iptables wget ошибка
« Ответ #1 : 06 Апрель 2010, 19:55:10 »
DNS настроен?
cat /etc/resolv.conf

Оффлайн melnikdima

  • Автор темы
  • Участник
  • *
  • Сообщений: 188
    • Просмотр профиля
Re: iptables wget ошибка
« Ответ #2 : 06 Апрель 2010, 20:36:52 »
думаю что не в нём дело..

так как настройки внешней сети (провайдер) по dchp

если сделать
iptables -P INPUT  ACCEPT
iptables -P FORWARD  ACCEPT
iptables -P OUTPUT ACCEPT


то всё работает...

а если

Цитировать
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Разрешим входящие соединения на маршрутизатор с внутренней сети (для управления)
iptables -A INPUT -i eth1 --source 192.168.5.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT

#Разрешим маршрутизатору отвечать компьютерам во внутренней сети:
iptables -A OUTPUT -o eth1 --destination 192.168.5.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT

#Разрешим перенаправление пакетов из внутренней сети во внешнюю для установки соединений
# и установленных соединений:
iptables -A FORWARD -i eth1 --source 192.168.5.0/24 --destination 0.0.0.0/0 --match state --state NEW,EST$

#Разрешим перенаправление пакетов из интернета во внутреннюю сеть только для установленных соединений:
iptables -A FORWARD -i eth0 --destination 192.168.5.0/24 --match state --state ESTABLISHED -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.5.0/16 -o eth0 -j MASQUERADE


то косяки
ввиде

Цитировать
root@melhome:~# wget ya.ru
--2010-04-06 18:19:27--  http://ya.ru/
Resolving ya.ru... failed: Name or service not known.
wget: unable to resolve host address `ya.ru'

Цитировать
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
ping: sendmsg: Operation not permitted

Цитировать
traceroute to 192.168.1.1 (192.168.1.1), 64 hops max, 40 byte packets
 1 sendto: Operation not permitted


Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: iptables wget ошибка
« Ответ #3 : 06 Апрель 2010, 21:19:53 »
Цитировать
iptables -A FORWARD -i eth1 --source 192.168.5.0/24 --destination 0.0.0.0/0 --match state --state NEW,EST$
напрягает

sudo iptables-save показывайте

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: iptables wget ошибка
« Ответ #4 : 06 Апрель 2010, 21:25:35 »
iptables -A FORWARD -i eth1 --source 192.168.5.0/24 --destination 0.0.0.0/0 --match state --state NEW,EST$
iptables -A FORWARD -i eth0 --destination 192.168.5.0/24 --match state --state ESTABLISHED -j ACCEPT

Ничего что там знак $ в конце первой строки... ? Недолжно быть так.

В цепи FORWARD не вижу правил разрешающих новые соединения, есть только правила для уже установленных соединений. А уже установленных соединений не возникает, т.к. новые-то не разрешены.
Нужно добавить что-то вроде этого:
iptables -A FORWARD -i eth1 --source 192.168.5.0/24 -j ACCEPT

Аналогично в других цепях.
(Нажмите, чтобы показать/скрыть)

Рекомендую не пренебрегать логами
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "Очень экономит время при отладке. Пишет логи в /var/log/messages
Смотреть логи через sudo cat /var/log/messages | grep "IPT FORWARD packet died"


Кроме того из внешней сетевушки eth0 не могут появиться "--destination 192.168.5.0/24", а если появились, то это злоумысел, если позади eth0 интернет. Посмотрите в схеме http://www.docum.org/docum.org/kptd/  где делается DE-MASQUERADE, а где находится FORWARD...

P.S. Цельно всё описано в
http://www.opennet.ru/docs/RUS/iptables/
http://www.docum.org/docum.org/kptd/
« Последнее редактирование: 06 Апрель 2010, 21:33:20 от Somewhere there out there »
StarDict и Mueller помогут против английского мануала.

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: iptables wget ошибка
« Ответ #5 : 06 Апрель 2010, 21:26:40 »
INT_NET=192.168.5.0/24
WAN=eth0
LAN=eth1

iptables -F -v
iptables -t nat -F -v
iptables -t mangle -F -v
iptables -X -v
iptables -t nat -X -v
iptables -t mangle -X -v

iptables -P INPUT  ACCEPT
iptables -P OUTPUT ACCEPT

iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -v
iptables -A FORWARD -m conntrack --ctstate NEW -i $LAN -j ACCEPT -v
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT -v

iptables -P FORWARD DROP -v

iptables -t nat -A POSTROUTING -s $INT_NET -o $WAN -j MASQUERADE -v

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -v

Оффлайн melnikdima

  • Автор темы
  • Участник
  • *
  • Сообщений: 188
    • Просмотр профиля
Re: iptables wget ошибка
« Ответ #6 : 06 Апрель 2010, 22:12:18 »
INT_NET=192.168.5.0/24
WAN=eth0
LAN=eth1

iptables -F -v
iptables -t nat -F -v
iptables -t mangle -F -v
iptables -X -v
iptables -t nat -X -v
iptables -t mangle -X -v

iptables -P INPUT  ACCEPT
iptables -P OUTPUT ACCEPT

iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT -v
iptables -A FORWARD -m conntrack --ctstate NEW -i $LAN -j ACCEPT -v
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT -v

iptables -P FORWARD DROP -v

iptables -t nat -A POSTROUTING -s $INT_NET -o $WAN -j MASQUERADE -v

iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu -v


если добавить
iptables -P INPUT  ACCEPT
iptables -P OUTPUT ACCEPT

то все активные порты будут видны в eth0 а мне это не нужно


вот save

Цитировать
# Generated by iptables-save v1.4.4 on Tue Apr  6 22:10:22 2010
*nat
:PREROUTING ACCEPT [24089:1291061]
:POSTROUTING ACCEPT [96:10134]
:OUTPUT ACCEPT [281:24299]
-A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Apr  6 22:10:22 2010
# Generated by iptables-save v1.4.4 on Tue Apr  6 22:10:22 2010
*filter
:INPUT ACCEPT [3558:189549]
:FORWARD DROP [3:417]
:OUTPUT ACCEPT [3539:143820]
-A INPUT -p tcp -m tcp --dport 2002 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 192.168.5.0/24 -i eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A FORWARD -s 192.168.5.0/24 -i eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.5.0/24 -i eth0 -m state --state ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.5.0/24 -i eth1 -j ACCEPT
-A FORWARD -s 192.168.5.0/24 -i eth0 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 2002 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -d 192.168.5.0/24 -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p icmp -m icmp --icmp-type 0 -j ACCEPT
COMMIT
# Completed on Tue Apr  6 22:10:22 2010



вот это не помогло
iptables -A FORWARD -i eth1 --source 192.168.5.0/24 -j ACCEPT

проблема таже



Цитировать
root@melhome:~# wget ya.ru
--2010-04-06 18:19:27--  http://ya.ru/
Resolving ya.ru... failed: Name or service not known.
wget: unable to resolve host address `ya.ru'
Цитировать
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
Цитировать
traceroute to 192.168.1.1 (192.168.1.1), 64 hops max, 40 byte packets
 1 sendto: Operation not permitted


Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Шаг за шагом можно достичь цели.

 

Страница сгенерирована за 0.066 секунд. Запросов: 22.