LINUX.ORG.RU
ФорумAdmin

Шлюз (помогите чайнику)


0

0

Народ, я в сетях полный чайник. И мои познания в данной области не выходят за пределы настройки локальной сети или модема. Нужна ваша помощь. Итак:

Есть виндовая сеть с адресацией 192.168.1.0/24 Есть машина под Linux (Fedora Core 1) с двумя сетевыми платами призванная решать вопросы Firewall-а и шлюза в интернет. Её адреса 192.168.1.3 (для внутренней сети) и 81.xxx.xxx.162 для внешней. На ней прописаны шлюз провайдера 81.xxx.xxx.161 и выданные им DNS-ы. С этой машины прекрасно видны обе сети и интернет, а вот дальше начинается чехорда. С МАШИН ВНУТРЕННЕЙ СЕТИ НЕ ВИДНО ИНТЕРНЕТ. Причём если в качестве DNS указать мой firewall то внешний мир определяется. То есть команда ping www.ru определяет IP адрес сайта www.ru но говорит, что превышен интервал ожидания ответа.

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

PS. И ещё. Что нужно указывать в качестве шлюза и DNS на машинах локальной сети?

anonymous
Ответ на: комментарий от anonymous

>[root]cat /proc/sys/net/ipv4/ip_forward если "0", то [root]echo "1" > /proc/sys/net/ipv4/ip_forward

У меня уже там 1 прописана. Что-же делать то?

anonymous
()
Ответ на: комментарий от slain

>iptables -t filter -P FORWARD ACCEPT >iptables -t nat -A POSTROUTING -o $INET_IF -i $LOCAL_IF -j MASQUERADE >sysctl -n -w net.ipv4.ip_forward=1

Прописал эти строки - не помогло. Кстати результатом второй было предупреждение: Warning: wierd character in interface `-i' (No aliases, :, ! or *).

PS. У меня стойкое ощущение, что я где-то туплю. Может сервис какой стартонуть/остановить забыл или ещё чего. Буду рад любым (даже самым очевидным для вас) комментариям.

PPS. А где лежит файл настроек iptables?

anonymous
()
Ответ на: комментарий от anonymous

>У меня стойкое ощущение, что я где-то туплю.
поразительная интуиция :-))
без обид...

$INET_IF - это "eth0" или еще что...
$LOCAL_IF - это "eth1" или наоборот...
см.
[root]ifconfig

там тебе ссылку кинули - почитай!

PPS. А где лежит файл настроек iptables?
хм... например "/etc/sysconfig/iptables"
есть и еще, но не стоит туда лезть пока не прочтешь и ОСОЗНАЕШЬ
http://www.opennet.ru/docs/RUS/iptables/index.html
к томуже после изменения придется перегрузиться.

anonymous
()

Как-то так нормально спросил, что аж странно :)

>Что нужно указывать в качестве шлюза и DNS на машинах локальной сети?

Шлюзом - 192.168.1.3. DNS - если у тебя самого поднят named, то тоже его, но скорее всего ДНС провайдера

fagot ★★★★★
()
Ответ на: комментарий от anonymous

>Прописал эти строки - не помо

а сделав это ты точно правильно заменил $INET_IF и $LOCAL_IF на свои внешний и локальный интерфейсы?

fagot ★★★★★
()
Ответ на: комментарий от anonymous

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

вообще -j MASQUERADE не рекомендуется использовать с постоянным внешним IP, а рекомендуется -j SNAT --to-source x.x.x.x
где x.x.x.x внешний IP

anonymous
()
Ответ на: комментарий от anonymous

>PPS. А где лежит файл настроек iptables? >хм... например "/etc/sysconfig/iptables"

Вы будете смеяться - но у меня нет такого файла. Есть iptables-config, но в нём написано всего лишь следующее:

# Additional iptables modules (nat helper) # Default: -empty- #IPTABLES_MODULES="ip_nat_ftp" # Save current firewall rules on stop. # Value: yes|no, default: no #IPTABLES_SAVE_ON_STOP="no" # Save current firewall rules on restart. # Value: yes|no, default: no #IPTABLES_SAVE_ON_RESTART="no" # Save (and restore) rule counter. # Value: yes|no, default: no #IPTABLES_SAVE_COUNTER="no" # Numeric status output # Value: yes|no, default: no #IPTABLES_STATUS_NUMERIC="no"

PS. В любом случае это не имеет значения, так как я сейчас вообще остановил демон iptables и ничего не изменилось.

anonymous
()
Ответ на: комментарий от anonymous

>Вы будете смеяться - но у меня нет такого файла
значит у тебя не RH.

>так как я сейчас вообще остановил демон iptables и ничего не изменилось.

а что, все должно было заработать? :-)

ЧИТАЙ ССЫЛКУ ТЕБЕ ГОВОРЯТ!!!

anonymous
()
Ответ на: комментарий от lvi

>Демон iptables - это круто.

демон не в техническом смысле,
а в смысле "ЧТО-ТО СТРАШНОЕ И НЕПОНЯТНОЕ"

anonymous
()
Ответ на: комментарий от anonymous

Понимаю, что испытываю ваше терпение, но всё же:

>значит у тебя не RH. У меня Fedora Core 1

>ЧИТАЙ ССЫЛКУ ТЕБЕ ГОВОРЯТ!!! С самого утра читаю - пока мало что понял.

Ещё раз спрошу: если забыть по firewall, то в чём может быть дело...

anonymous
()
Ответ на: комментарий от anonymous

На двух пальцах. Есть таблица IP-фильтра ядра и есть утилитка iptables, которая из командной строки работает с этой таблицей (добавляет и удаляет записи). Все. Все остальное - это скрипты. Всякий раз, после загрузки машины, чтоб твои правила работали, ты должен заполнить таблицу.

Заполнять можно по одной команде, либо сделать свой скриптик, где прописать их все.

Как все заработает, либо /etc/init.d/iptables save, это перепишет таблицу в файл конфигурации, его формат и где он лежит знать не обязательно. При следующей загрузке, при поднятии сервиса iptales, данные востановятся.

Либо можно прописать запуск своего скрипта в /etc/rc.d/local.rc и наплевать на стандартные записи/восстановления. Именно так я и делаю. Если нужно,что-то поменять, то подправил скрипт, запустил его, и не надо думать, не забыл ли ты сделать save.

Ну а самих команд тебе уже наговорили. Почитай еще IP-filter-HOWTO, сдесь должен быть, в документации.

lvi ★★★★
()
Ответ на: комментарий от anonymous

есть еще такая штука как "маскарад" (MASQUARADE), он же NAT

требуется если нет прямого IP на каждой машине внутри сети.

anonymous
()
Ответ на: комментарий от anonymous

Ы-ы-ы... Что же мне делать? Перепробовал всё - не помогает. Можно ли проверить связь еа не защищённом канале. Как полностью выключить iptables и прочие security прибабахи? Помогите плиз

anonymous
()
Ответ на: комментарий от anonymous

Выключить iptables:

iptables -F
iptables -F -t nat
iptables -F -t mangle

Но тебе это не поможет :) Поможет - долгое и мучительное вникание в суть вопроса

fagot ★★★★★
()
Ответ на: комментарий от anonymous

Отпадное решение. Если все так плохо, не лучше ли было поставить на шлюз вынь и настроить там какой-нибудь прокси?

Хотя, тут тебе начали объяснять немного с середины.

Когда надо соорудить шлюз из локалки в инет, то есть две альтернативы - трансляция адресов (NAT) или прокси. NAT в Линуксе настраивается через пакетный фильтр (iptables). Как - надо прочесть какой-нибудь HOWTO, посвященный iptables. Прокси - взять Squid и настроить его либо как прозрачный, либо прописать его на всех машинах локалки. Настройка squid'а описана много где.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.