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

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

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

anonymous ()

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

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

Прописываешь у пользователей ip этой машинки в качестве шлюза и dns, который получил у провайдера в качестве dns :)

http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html

slain ()
Ответ на: Re: Шлюз (помогите чайнику) от anonymous

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

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

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

anonymous ()
Ответ на: Re: Шлюз (помогите чайнику) от slain

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

>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 ()
Ответ на: Re: Re: Шлюз (помогите чайнику) от anonymous

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

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

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

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

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

anonymous ()

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

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

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

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

fagot ★★★★★ ()
Ответ на: Re: Re: Шлюз (помогите чайнику) от anonymous

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

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

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

fagot ★★★★★ ()
Ответ на: Re: Re: Re: Шлюз (помогите чайнику) от anonymous

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

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

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

anonymous ()
Ответ на: Re: Re: Re: Шлюз (помогите чайнику) от anonymous

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

>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 ()
Ответ на: Re: Re: Re: Re: Шлюз (помогите чайнику) от anonymous

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

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

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

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

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

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Шлюз (помогите чайнику) от lvi

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

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

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

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Шлюз (помогите чайнику) от anonymous

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

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

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

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

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

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Шлюз (помогите чайнику) от anonymous

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

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

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

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

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

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

lvi ★★★★ ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Шлюз (помогите чайнику) от anonymous

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

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

anonymous ()
Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Шлюз (помогите чайнику) от anonymous

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

Выключить iptables:

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

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

fagot ★★★★★ ()

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

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

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

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

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