Консультация № 175738
30.12.2009, 10:38
33.22 руб.
0 24 1
Здравствуйте! Прошу помочь разобраться со следующей ситуацией. Ни один ПК в локальной сети не может выйти в интернет. Последовательность действий:
1. Установил Linux CENTOS 5.4
2. Прописал настройки сетевых карт : ifconfig-eth0 (dhcp), ifconfig-eth1 192.168.0.1 255.255.255.0. Остальное здесь стало автоматически (маска, hastname, network)
Причем, что настроить их удалось только через конфигуратор system-config-network. А с консоли, так и не удалось, пишет при ifconfig eth1 192.168.0.1 255.255.255.0 up. "SIOCSIFADDR -не допустимый аргумент", такая же ситуация и по eth0 . Это первый нюанс.
3. Идем дальше в etc/sysconfig/network дописал FORWARD_IPV4=yes
4. А так же в etc/sysctl.conf сделал изменения net.ipv4.ip_forward=1 и net.ipv4.ip_always_defrag=1
5 Перезапустил /etc/rc.d/init.d/network restart
6. Теперь для того что-бы сервер обрабатывал запросы установил кеширующий dns-сервер yum install bind. Все поставилось. В появившемся файле /etc/named.caching-nameserver.conf сделал изменения в синтаксисе:
allow-query {localhost; };
allow-query-cache {localhost; };
forwarders {yyy.yyy.yyy.yyy; }; где yyy.yyy.yyy.yyy - dns-адрес провайдера
7. В файле /etc/resolv.conf дописал nameserver yyy.yyy.yyy.yyy
8. На локальных компах прописал в качестве настроек dns адрес сервера-шлюза (eth1)192.168.0.1
9. И теперь настройки iptables, в первом случае через конфигуратор system-config-securitylevel уровень безопасности включен. SELinux принудительный режим. Доверенные устройства eth0 и eth1. На маскарадинге указываю обу карты. Разрешить входящие указываю www, https, smtp, порт 110 для забора почты, ssh. Все выхожу, сохраняюсь, перезапусаюсь. С локальных компьютеров набираю страницу к примеру mail.ru и вижу что идет перебор mail.net, mail.org, mail.com и невозможно отобразить страницу.
10 Вариант 2. Захожу в etc/sysconfig/iptables все комментирую и указываю iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -o eth0 -j SNAT --to-source yyy.yyy.yyy.yyy-где yyy.yyy.yyy.yyy -адрес eth0
дописываю iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0/0 -o eth0 --dport 80 -j SNAT --to-source yyy.yyy.yyy.yyy. Сохраняюсь перезапускаюсь. При проверке выдается : применяется правила браундмауера - iptables-restore : line 1 failed. Сбой. Соответственно, ни один комп не выходит в мир. Описал все действия. Прошу указать что здесь не правильно и как устранить проблемы, ведь сразу после праздников люди выйдут на работу.


Обсуждение

Неизвестный
30.12.2009, 13:13
общий
это ответ
Здравствуйте, Kozyr76.
Ну для начала
ifconfig eth1 192.168.0.1[i]/[/i]255.255.255.0 up

С форвардом и кеширующим DNS на первый взгляд все нормально.

Хотелось бы видеть что там наваял конфигуратор для iptables (iptables-save), но руками все должно выглядеть так:

iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source yyy.yyy.yyy.yyy

iptables -F
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp --dport 143 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -j DROP

идея такая: все что идет на выход - заNAT'ить на внешний IP-адрес, и указать что именно (icmp - ping лучше открыть,22-ssh,25-smtp,53-DNS,80-http,110-pop,143-imap,443-https) пропускать.

Также надо учесть, что некоторые сервисы разрешают пользование почтовыми программами только с шифрованием и через другие порты, так что список открытых портов у Вас еще пополнится "по заявкам трудящихся".

Для блуждания по internet'у я бы рекомендовал поставить прокси - множество сайтов держат некоторые части на портах отличных от 80 - указать их всех в правилах iptables - практически открыть все.
Неизвестный
30.12.2009, 18:29
общий
Прописал настройки сетевых карт : ifconfig-eth0 (dhcp) а это за хрень на сервере? Как это интервейс выпускающий в мир так описать можно? Особенно в никсах? Вам почтовые клиенты настраивать, или почитать нормальную литературу, не зависомо от ОС.
Неизвестный
30.12.2009, 19:10
общий
Шпак:
Там по-русски написано system-config-network

а какой интерфейс в мир смотрит и как провайдер раздает параметры - по большому счету все равно.

to Kozyr76:
насчет DHCP я в ответе прохлопал. Если адрес динамический то вместо SNAT надо использовать MASQUERADE:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Неизвестный
31.12.2009, 01:36
общий
Значит так, файерволл не воспринимает
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source yyy.yyy.yyy.yyy
Пишет, что сбой в строках и в 1 и во второй, пробывал коментировать по очереди. Может стоит обратить внимание, что это CENTOS, там синтаксис не тот. Вот, взгляньте, что указал iptables после простой настройки через конфигуратор:
FORWARD ACCEPT 0:0
OUTPUT ACCEPT 0:0
RH-Firewal-1-INPUT
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall -1-INPUT -i lo -j ACCEPT
-A RH-Firewall -1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall -1-INPUT -i eth1 -j ACCEPT
-A RH-Firewall -1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall -1-INPUT -p 50 -j ACCEPT
-A RH-Firewall -1-INPUT -p 51 -j ACCEPT
-A RH-Firewall -1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall -1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall -1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall -1-INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
-A RH-Firewall -1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall -1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall -1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A RH-Firewall -1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall -1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall -1-INPUT -j REJECT --reject-witch icmp-host-prohibited
COMMIT
mangle
PREROUTING ACCEPT 0:0
INPUT ACCEPT 0:0
FORWARD ACCEPT 0:0
OUTPUT ACCEPT 0:0
POSTROUTING ACCEPT 0:0
-A PREROUTING -i eth0 -j MARK --set-mark 0x9
nat
PREROUTING ACCEPT 0:0
OUTPUT ACCEPT 0:0
POSTROUTING ACCEPT 0:0
-A POSTROUTING -m mark --mark 0x9 MASQUERADE (если в конфигураторе поставлю eth0 -маскарад)
COMMIT

Вот такие настройки iptables, прошу внесите необходимые коррективы.












Неизвестный
31.12.2009, 02:07
общий
При таком раскладе клиенты могут пинговать 2 интерфейса сервера, не более. Команда tracert 93.73.118.162 на клиенте выдает "не удается разрешить системное имя"
Неизвестный
31.12.2009, 10:43
общий
синтаксис тот - пишете Вы его не там.

1)отключите все службы firewall'а кроме iptables (shorewall, например или что-там еще может быть)
2)выполните в консоли все строчки из моего ответа
3)выполните
/etc/rc.d/init.d/iptables restart

после этого файл конфигурации, который Вы выше выложили, должен существенно изменится.

Если править ту конфигурацию, которая уже есть, то я бы делал следующее
1)в конфигураторе маскарад установил на eth1 (судя по конфигу сейчас оно маскарадит все что ВХОДИТ через eth0)
2)убрал в результирующем конфиге
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
а с последующих строчек вырезал -m state --state NEW оставил только
-A RH-Firewall-1-INPUT -p <какой надо протокол> --dport <какой надо порт> -j ACCEPT
3)добавил как минимум
-A RH-Firewall-1-INPUT -p udp --dport 53 -j ACCEPT
для развязки имен, а вообще-то - все нужные порты (110, 143, 443)
4)настораживают строчки
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall-1-INPUT -i eth1 -j ACCEPT
они вполне могут сделать из firewall'a "сквозняк" (они разрешают ВСЕ, что приходит из интерфейсов eth0 и eth1)
5)порты 50,51- непонятно что, а 631 - подсистема печати CUPS. Резрешить их не взирая на хост-источник и хост-получатель как-то не совсем правильно.

Вот за такие непонятные правила я и не люблю автоматические конфигураторы
Неизвестный
31.12.2009, 13:13
общий
Я пробывал, прописывал в консоли, но ничего не поменялось, остается синтаксис конфигуратора, как его можно отключить, что бы правила прописывать самому. Захожу system-config-securitylevel Уровень безопасности включен. SElinux- принудительный режим. Доверенные устройства eth0 eth1, Снимаю галочки-разрешить входящие. После в консоли прописываю правила и ....ничего не меняется. Как же все-таки отключить правила с конфигуратора? Если же сделать уровень безопасности выключен, то файл iptables будет отсутствовать.
Неизвестный
31.12.2009, 15:16
общий
выложите
chkconfig --list

что-то там лишнее запускается
Неизвестный
31.12.2009, 16:53
общий
Вот такие службы запущены. Прошу посмотреть, что здесь лишнее. И что-делать в system-config-securitylevel?
acp id
anacron
atd
auditd
autofs
avahi-daemont
bluetootch
cpuspeed
crond
cups
firstbut
gpm
haldaemon
hidd
hlip
ip6tables
iptables
irqbalance
isdn
kudzu
lvm2-monitor
mcstrans
mdmonitor
messagebus
named
netfs
network
ntfslock
pkscd
portman
rawdevice
readahead-early
restorecond
rpcidmapd
sendmail
setroubleshoot
smartd
sshd
syslog
xfs
xinetd
yum-updatesd















Неизвестный
03.01.2010, 21:51
общий
Прошу помочь до конца разобраться с данной проблемой. И еще возник момент, на другой машине поставил тот же CENTOS, но возникла проблема с BIND: запустил установку yum install bind-chroot, все проходит нормально, устанавливаются пакеты. Но файл etc/named.conf так и не появился, при запуске service named start - сбой. Пробывал и yum install bind-chroot caching-nameserver, тоже конф.файла нет, пробывал и в var/named/chroot...нет файлов конфигурации. Неужели их вручную теперь надо создавать, но в предыдущем случае это делать не пришлось....Что же все-таки происходит? Прошу помочь разобраться с данными проблемами по первому и второму случаю....В долгу не останусь...
Неизвестный
04.01.2010, 10:15
общий
Цитата: 17410
а какой интерфейс в мир смотрит и как провайдер раздает параметры - по большому счету все равно.


Вы это серьезно? DHCP на внешнем интерфейсе это все равно? Такого админа нужно выкидывать с работы немедленно. Про подмену серверов вы конечно не слышали? Да и про много еще чего. Я лично увольнял таких админов со статьей о не соответствии. И вам все равно в правилах фаервола по какому интерфейсу работает правило?

Скрипты описания интерфейсов лежат вот тут /etc/sysconfig/network-scripts/
Пример:
cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Networking Interface
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:80:48:2B:00:30
ONBOOT=yes
TYPE=Ethernet
IPADDR=10.10.168.81
NETMASK=255.255.255.0

named.conf и остальные файлы конфигов скопируй с другой машины. scp тебе в помощь.
Что бы отключить синтаксис службы iptables нужно написать свой скрипт и сделать его стартовым.
Отключаем службу chkconfig --level 2345 iptables off и chkconfig --level 2345 ip6tables off
touch /etc/init.d/faer
chmod 755 /etc/init.d/faer
ln -s /etc/init.d/faer /etc/rc3.d

и пишим туда свои правила.
Пример:
#!/bin/bash

IPTABLES=/sbin/iptables
IPTABLES_NAT="/sbin/iptables -t nat"
LAN_IP='192.168.1.100'

$IPTABLES -X
$IPTABLES -Z
$IPTABLES -F
$IPTABLES_NAT -X
$IPTABLES_NAT -Z
$IPTABLES_NAT -F
$IPTABLES_NAT -A POSTROUTING -j MASQUERADE
$IPTABLES -A INPUT -m state --state INVALID -j REJECT

# All of the bits are cleared
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

# SYN and FIN are both set
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

# SYN and RST are both set
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

# FIN and RST are both set
$IPTABLES -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP

# FIN is the only bit set, without the expected accompanying ACK
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP

# PSH is the only bit set, without the expected accompanying ACK
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP

# URG is the only bit set, without the expected accompanying ACK
$IPTABLES -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP

$IPTABLES -A FORWARD -m state --state INVALID -j REJECT
$IPTABLES -A FORWARD -i ppp0 -s 192.168.1.255 -j REJECT
$IPTABLES -A FORWARD -o ppp0 -d 192.168.1.255 -j REJECT
$IPTABLES -A OUTPUT -o ppp0 -d 192.168.1.255 -j REJECT
$IPTABLES -A OUTPUT -p udp -o ppp0 -m multiport --ports 68,546,547,647,847 -j REJECT
$IPTABLES -A OUTPUT -p tcp -o ppp0 -m multiport --ports 68,546,547,647,847 -j REJECT
$IPTABLES -A FORWARD -p tcp -o ppp0 -m multiport --ports 68,546,547,647,847 -j REJECT
$IPTABLES -A FORWARD -p udp -o ppp0 -m multiport --ports 68,546,547,647,847 -j REJECT
$IPTABLES -A FORWARD -p tcp -i ppp0 -m multiport --ports 68,546,547,647,847 -j REJECT
$IPTABLES -A FORWARD -p udp -i ppp0 -m multiport --ports 68,546,547,647,847 -j REJECT
#$IPTABLES -A INPUT -p tcp -i ppp0 --dport 53 -j REJECT
#$IPTABLES -A INPUT -p udp -i ppp0 --dport 53 -j REJECT
$IPTABLES -A INPUT -p tcp -i ppp0 -m multiport --ports 68,546,547,647,847 -j REJECT
$IPTABLES -A INPUT -p udp -i ppp0 -m multiport --ports 68,546,547,647,847 -j REJECT
$IPTABLES -A FORWARD -p tcp -i ppp0 --dport 53 -j REJECT
$IPTABLES -A FORWARD -p udp -i ppp0 --dport 53 -j REJECT

#-------------- MS Ports--------------------#

$IPTABLES -A FORWARD -p tcp -o ppp0 -m multiport --ports 137,138,139,445,1512 -j REJECT
$IPTABLES -A FORWARD -p udp -o ppp0 -m multiport --ports 137,138,139,445,1512 -j REJECT
$IPTABLES -A FORWARD -p tcp -o eth0 -m multiport --ports 137,138,139,445,1512 -j REJECT
$IPTABLES -A FORWARD -p udp -o eth0 -m multiport --ports 137,138,139,445,1512 -j REJECT

$IPTABLES -A INPUT -p tcp -i ppp0 -m multiport --ports 137,138,139,445,1512 -j REJECT
$IPTABLES -A INPUT -p udp -i ppp0 -m multiport --ports 137,138,139,445,1512 -j REJECT
$IPTABLES -A INPUT -p tcp -i eth0 -m multiport --ports 137,138,139,445,1512 -j REJECT
$IPTABLES -A INPUT -p udp -i eth0 -m multiport --ports 137,138,139,445,1512 -j REJECT

#-------------- MS Ports--------------------#

$IPTABLES -A FORWARD -p udp -s 192.168.1.0/24 --dport 123 -j REJECT
$IPTABLES -A INPUT -i ppp0 -p tcp --dport 3306 -j REJECT

$IPTABLES_NAT -A PREROUTING -p tcp --dport 80 -s 192.168.1.0/24 ! -d 192.168.1.100 -j REDIRECT --to-ports 3128

Это как пример.
Неизвестный
04.01.2010, 10:34
общий
Если честно: я SELinux отключаю в первую очередь и у меня всех этих глюков нет. Но попробуем разобратся...

Начнем с малого. Попробуйте выполнить следующие команды:

iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -F
iptables-save

они должны выдать в консоль что-то такое:

filter
INPUT ACCEPT 0:0
FORWARD ACCEPT 0:0
OUTPUT ACCEPT 0:0
mangle
PREROUTING ACCEPT 0:0
INPUT ACCEPT 0:0
FORWARD ACCEPT 0:0
OUTPUT ACCEPT 0:0
POSTROUTING ACCEPT 0:0
nat
PREROUTING ACCEPT 0:0
OUTPUT ACCEPT 0:0
POSTROUTING ACCEPT 0:0
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

если на вывод все равно идет предыдущая конфигурация, значит SELinux запрещает прямое редактирование с командной строки и надо искать откуда он читает изначальную конфигурацию

---------------------------
на первой машине Вы bind ставили тоже через yum или во время инсталляции?
Неизвестный
04.01.2010, 10:40
общий
Шпак:
DHCP на внешнем интерфейсе это все равно?

Ну не все же могут заплатить за статический IP-адрес, да и не всем он нужен
Неизвестный
04.01.2010, 14:30
общий
Цитата: 17410

Ну не все же могут заплатить за статический IP-адрес, да и не всем он нужен

Как правило провайдер дает статический IP внутренней адресации, а вот когда поднимается ppp там уже идет динамика. Хотя для бизнеса, а как я понял там именно офис, всегда выделяется статика и на внешку, да же если он выкидывается прямиком во внешний мир без VPN или PPPOE.
Неизвестный
05.01.2010, 02:12
общий
Первое, по BIND удалось установить как yum install bind-chroot caching-nameserver и в нем делать изменения. По второму (iptables) после изменений
iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -F
iptables-save
Пишет что сделаны изменения, но захожу в iptables- там ничего не поменялось....хотя SELinux выключил. ОТсюда выход, надо делать изменения в новом файле и ставить на загрузку файл так? Тогда в новом файле такой будет синтаксис? :

iptables -t nat -F
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source yyy.yyy.yyy.yyy
iptables -F
iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp --dport 143 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -j DROP

И последний момент при использовании SNAT и MASQUERADE eth0 берем внешний или внутренний интерфейс?
Неизвестный
05.01.2010, 10:17
общий
активную конфигурацию показывает iptables-save

если последовательность
/etc/init.d/iptables stop
/etc/init.d/iptables start
iptables-save
показывает нужную конфигурацию и после перезагрузки (при включеной службе iptables)
iptables-save
показывает ее же, значит все сохранилось, а Ваш файл является просто какой-то отcебятиной SELinux'a [i]графического конфигуратора[/i]

SNAT/MASQUERADE надо делать на выходе (POSTROUTING) с интерфейса, который смотрит в мир
Неизвестный
05.01.2010, 13:24
общий
Активную конфигурацию показывает iptables -L, iptables -L -n -v, iptables -t nat -L
SeLinux ни какие правила iptables не пишет, у него совсем другая задача, а именно мандатное управление доступами.
Вообще не плохо было бы почитать основы сетей, а так же хотя бы ман по iptables.
Как сделать маскарадинг я указал в своем примере.
А вообще еще раз повторяюсь, почитайте по сетям самые основы, иначе вы все равно ни чего и ни когда не поймете и не добьетесь.
Неизвестный
05.01.2010, 17:17
общий
Шпак:
а iptables-save какую по-Вашему показывает???

насчет SELinux - cогласен - не совсем к месту я его приплел. Имелся ввиду графический конфигуратор system-config-securitylevel, который "рулит" всем понемножку и файерволом, и SELinux'ом, и еще черт-и-чем
Неизвестный
05.01.2010, 22:51
общий
Цитата: 17410
а iptables-save какую по-Вашему показывает???


Это просто скрипт, если писать свои правила, без конфигураторов он не работает. А вот iptables -L работает всегда.
Неизвестный
06.01.2010, 01:12
общий
И так спешу сообщить, что все мои попытки не увенчались к сожалению успехом. Выхода в интернет с локальной сети невозможен. Что я сделал:
1.
chkconfig --level 2345 iptables off и chkconfig --level 2345 ip6tables off
touch /etc/init.d/faer
chmod 755 /etc/init.d/faer
ln -s /etc/init.d/faer /etc/rc3.d

#!/bin/bash
wan_ip="yyy.yyy.yyy.yyy" //внешний мир
wan_if="eth1"
lan_ip="10.17.13.1"
lan_if="eth0"
lo_if="lo"
lo_ip="127.0.0.1"

IPTABLES="/sbin/iptables"

/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F

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


$IPTABLES -A INPUT -p tcp --tcp-flags SYN, ACK SYN, ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

$IPTABLES -A INPUT -p ALL -i $lo_if -s $lo_ip -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $lo_if -s $lan_ip -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $lo_if -s $wan_ip -j ACCEPT

$IPTABLES -A INPUT -p ALL -i $lan_if -j ACCEPT

$IPTABLES -A INPUT -p ICMP -i $wan_if --icmp-type echo-request -j ACCEPT
$IPTABLES -A INPUT -p ALL -d $wan_ip -m state --state ESTABLISHED, RELATED -j ACCEPT

$IPTABLES -A INPUT -p TCP -i $wan_if --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p UDP -i $wan_if --dport 53 -j ACCEPT

$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level info --log-prefix "IPTABLES INPUT blocked: "

$IPTABLES -A FORWARD -p tcp --tcp-flags SYN, ACK SYN, ACK -m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

$IPTABLES -A FORWARD -p ICMP -i $lan_if -j ACCEPT
$IPTABLES -A FORWARD -p ALL -i $lan_if -o $lan_if -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $lan_if --dport 22 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $lan_if --dport 25 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $lan_if --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p UDP -i $lan_if --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $lan_if --dport 80 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $lan_if --dport 110 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $lan_if --dport 143 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i $lan_if --dport 443 -j ACCEPT

$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level info --log-prefix "IPTABLES FORWARD blocked: "

$IPTABLES -t nat -A POSTROUTING -o $wan_if -j MASQUERADE

Сохраняюсь перезапускаюсь.

Был установлен bind-chroot caching-nameserver. Вот синтаксис:

options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };


directory "/var/named";
forwarders { 193.193.193.100; 193.193.193.115; };// ДНС провайдера, такие же как в /etc/resolv.conf
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";

// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;

allow-query { localhost; 127.0.0.1/8; 10.17.13.1/24; }; //10.17.13.1- интерфейс в локальную сеть
allow-query-cache { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};

а так же в /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
net.ipv4.ip_always_defrag=1

Указан и форвард в etc/sysconfig/network
Интерфейсы eth1 - смотрящий в мир, eth0- в локальную сеть. Ну, и, наконець, iptables -L
[root@asport etc]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

В результате, можно только пинговать с лок.машин оба интерфейса, и заходить на сервер через ssh и все, больше ничего. На компах в сети шлюз и днс 10.17.13.1
Очень прошу до конца помочь разобраться по моему вопросу..
Можно здесь, можно по асе 421187652...Хочется уже запустить данный роутер в работу...Жду Вашей информации...Спасибо...
Неизвестный
06.01.2010, 10:32
общий
вот только не
ln -s /etc/init.d/faer /etc/rc3.d
а
ln -s /etc/init.d/faer /etc/rc3.d/S01faer

и еще
$IPTABLES -A INPUT -p tcp -i $wan_if --dport 53 -j ACCEPT
когда DNS не может сделать какую-то операцию по udp он пробует делать ее же по tcp

+ еще: я имена протоколов всегда писал строчными: не уверен "схавает" ли их iptables прописными
Неизвестный
06.01.2010, 10:41
общий
Шпак:
Цитата: 114870
Это просто скрипт, если писать свои правила, без конфигураторов он не работает

а вот теперь я Вас отправлю в man iptables или просто поэкспериментировать, потому что здесь Вы ошибаетесь
Неизвестный
06.01.2010, 10:50
общий
Цитата: 17410
вот только не
ln -s /etc/init.d/faer /etc/rc3.d
а
ln -s /etc/init.d/faer /etc/rc3.d/S01faer


Да вот тут я допустил ошибку.

Цитата: 17410
+ еще: я имена протоколов всегда писал строчными: не уверен "схавает" ли их iptables прописными


Хватает строчными.

Цитата: 17410
а вот теперь я Вас отправлю в man iptables или просто поэкспериментировать, потому что здесь Вы ошибаетесь


Попробывал, был не прав. Хотя предпочитаю все же самим iptables пользоваться, там больше информации выдаётся и в другом виде.
Неизвестный
06.01.2010, 19:56
общий
Сделал последние изменения. Во время загрузки faer выдается BAD argument SYN, потом BAD state `', после чего Can`t use -P with -A. Но нат вроде заработал, появилась возможность пинговать с других машин ip адреса сайтов, страницы так и не открываются. "Can't find server name for address 10.17.13.1. Default server: Unknown" . Может все же есть шанс его поднять? если можно, просмотрите еще раз конфиг, последняя надежда..
Форма ответа