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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Настройка iptables на шлюзе  (Прочитано 3512 раз)

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

Оффлайн Thornni

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Настройка iptables на шлюзе
« : 20 Май 2013, 17:26:26 »
Доброго времени суток всем.

Возникла такая проблема, боюсь, своими силами не разберусь.

Есть шлюз на базе Ubuntu server 12.04. Он имеет две сетевушки: eth0 внешняя в мир и eth1 во внутреннюю сеть. Содержимое interfaces:

auto lo
iface lo inet loopback

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.10.45
netmask 255.255.255.0
gateway 192.168.10.1
dns-nameservers 192.168.10.2

# The first network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0

В "локальной сети" есть "машинка" под WinXP.

Такой нехитрой схемкой пытаюсь эмулировать настройку и работу сети, чтобы потом перенести на настоящую сеть (Здесь речь о виртуалках).

Столкнулась с проблемой при настройке iptables. (С нуля пишу конфиг iptables в первый раз, поэтому, если пишу глупости - приму во внимание все замечания). Вот что получается:


*filter

:INPUT ACCEPT [408:34204]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [22:3479]

# 0 - Разрешить входящие на интерфейс замыкания на себе
-A INPUT -i lo -j ACCEPT

# 1 - Взаимодействие с внутренней подсетью:
# Разрешим входящие на маршрутизатор для управления из внутренней сети
-A INPUT -i eth1 -s 192.168.1.0/24 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# 2 - Разрешим пинги из внешней сети:
-A INPUT  -i eth0 -p icmp -j ACCEPT

# 3 - Разрешаем доступ из внешней сети по ftp и ssh:
# данные
-A INPUT  -i eth0 -p tcp --dport 20 -j ACCEPT
# команды
-A INPUT  -i eth0 -p tcp --dport 21 -j ACCEPT
# ssh
-A INPUT  -i eth0 -p tcp --dport 22 -j ACCEPT

# 4 - Разрешаем Инернет на шлюзе:
-A INPUT -i eth0 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

# 5 - Разрешаем интернет в локальной сети
# Разрешим маршрутизатору перенаправление пакетов из внутренней сети во
# внешнюю для установки новых соединений, уже установленных и присоединенных
-A FORWARD -i eth1 -s 192.168.1.0/24 -d 0.0.0.0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Разрешим перенапрвление пакетов из интернета во внутреннюю сеть
# только для установленных соединений и присоединенных пакетов
-A FORWARD -i eth0 -d 192.168.1.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT


-A OUTPUT -j ACCEPT

# Запрещено все, что явно не разрешено
-A INPUT   -j REJECT
-A FORWARD -j REJECT

COMMIT

*nat
:PREROUTING ACCEPT [362:29019]
:INPUT ACCEPT [360:28899]
:OUTPUT ACCEPT [18:2421]
:POSTROUTING ACCEPT [20:2541]

# Разрешение и маскировка всех исходящих и входящих
# соединений по внешнему интерфейсу:
-A POSTROUTING -o eth0 -j MASQUERADE

COMMIT

*mangle
:PREROUTING ACCEPT [1506:112881]
:INPUT ACCEPT [1501:112581]
:FORWARD ACCEPT [5:300]
:OUTPUT ACCEPT [574:39683]
:POSTROUTING ACCEPT [599:45033]
:outtos - [0:0]
:pretos - [0:0]
-A PREROUTING -j pretos
-A OUTPUT -j outtos
-A outtos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10/0xff
-A outtos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10/0xff
-A outtos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10/0xff
-A outtos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10/0xff
-A outtos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08/0xff
-A outtos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08/0xff
-A pretos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10/0xff
-A pretos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10/0xff
-A pretos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10/0xff
-A pretos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10/0xff
-A pretos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08/0xff
-A pretos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08/0xff

COMMIT

Проблема такая: с самого шлюза не уходят пинги по доменным именам. Вот то есть тот же ya.ru пингую как ya.ru - в ответ: unknown host ya.ru. По айпи же пингуется. С ХР по имени прекрасно пингуется и сайты открываются/файлы качаются.
Стоит на шлюзе сделать

iptables -F  - и пинг по имени работать начинает. Не могла вроде нигде в dns-ах намудрить так.

Может кто подскажет, где туплю и что не так написала? Заранее спасибо большое за помощь.

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Настройка iptables на шлюзе
« Ответ #1 : 20 Май 2013, 18:41:48 »
sudo iptables-save?

Оффлайн Thornni

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: Настройка iptables на шлюзе
« Ответ #2 : 22 Май 2013, 07:31:57 »
sudo iptables-save?
Выполнила iptables -S, увидела косяк с применившимися политиками по умолчанию. Поправила. но проблему эту не решило. Я сейчас снесла все нафиг вместе с системой:) Так как в попытках решить одну проблему, кажется где-то намудрила еще. Сейчас поставлю все по-новой и посмотрю, возникнет ли снова проблема.


Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27506
    • Просмотр профиля
Re: Настройка iptables на шлюзе
« Ответ #3 : 22 Май 2013, 12:21:06 »
Thornni, примеров правил для iptables на форуме очень много.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

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