nixp.ru v3.0

26 апреля 2024,
пятница,
09:09:30 MSK

Lunx написал 1 ноября 2004 года в 19:25 (2485 просмотров) Ведет себя как мужчина; открыл 5 тем в форуме, оставил 9 комментариев на сайте.

Как ентот е****ый шлюз настроить, мозги второй день плавится.

Пасиба заранее =)

// Тему переместил(а) Dmitry Shurupov из форума «Софт под *nix».

fly4life

Дык, написал бы, что за шлюз, что надо на нём (прокси/НАТ)? Что сделал и что не получилось?

А-то как-то телепатировать тяжко в понедельник.

Dreid

Уточни вопрос, пожалуйста.

Ты хочешь унать, где тебе прописать default gateway? Тогда тебе в /etc/rc.d/rc.inet1

Или что ты хочешь-то?

Мне надо поднять шлюз, HTTP,FTP,SMTP,POP должен пропускать, из вне должен пропускать только по запросу внутренних рользователей(что то типа брандмауера).

Соображаю ооочень туго, с пятницы не спавши мз за ентого шлюза *******.

Dreid
Lunx
Мне надо поднять шлюз, HTTP,FTP,SMTP,POP должен пропускать, из вне должен пропускать только по запросу внутренних рользователей(что то типа брандмауера).

Соображаю ооочень туго, с пятницы не спавши мз за ентого шлюза.

Мда. Тогда man iptables, далее настраивай, а мы поможем.

И всё-таки скажи, что уже получилось — разбей задачу на более мелкие.

fly4life
Мне надо поднять шлюз, HTTP,FTP,SMTP,POP должен пропускать, из вне должен пропускать только по запросу внутренних рользователей(что то типа брандмауера).

Ну тогда для начала поднимай NAT.

Минимум для этого тебе надо:

iptables -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source ext_ip

где 192.168.0.0/24 — это внутрення сетка, eth1 — внешний сетевой интерфейс; ext_ip — внешний IP адрес.

(для более детальной настройки — man iptables)

Потом тебе надо настроить форвардинг пакетов между сетевыми интерфейсами. Делается это так:

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

(чтобы это делалось каждый раз при загрузке системы, поищи у себя файлик sysctl.conf и в нём параметр IP_FORWARD (или подобный ему, т.к. в не знаю как он там в слаке называется) измени с 0 (no) на 1 (yes))

А насчёт поднятия HTTP, FTP и почтового серверов, дык этого в яндексе и прочих гуглах полно. Поищи немного и будет тебе счастье.

Если что-то конкретно в их настройке будет непонятно, то заходи, спрашивай.

SMTP, FTP, HTTP и POP вроде ролучилось /=), токо пока не протесчу не уверен, а как отсекать входящий трафик ума не приложу, нуно пропускать токо тот входящий трафик который инициирован из внутренней сети, т.е. например загрузка какая либо или еще что.

Да совсем забыл, нужно еще енту заразу научить по пользователям трафик считать.

Dreid
fly4life
(чтобы это делалось каждый раз при загрузке системы, поищи у себя файлик sysctl.conf и в нём параметр IP_FORWARD (или подобный ему, т.к. в не знаю как он там в слаке называется) измени с 0 (no) на 1 (yes))

В слаке делается просто

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


в /etc/rc.firewall

fly4life
Lunx
а как отсекать входящий трафик ума не приложу, нуно пропускать токо тот входящий трафик который инициирован из внутренней сети, т.е. например загрузка какая либо или еще что.

ну, это вам, батенька, сюда.

Lunx
Да совсем забыл, нужно еще енту заразу научить по пользователям трафик считать.

А это прямиком в гугл!

fly4life
Dreid
В слаке делается просто

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

в /etc/rc.firewall

не, ну это можно, впринципе, делать в любом дистрибутиве, в каком-нибудь /etc/rc.d/rc.local. Просто можно обойтись без нагромождения подобных стартовых скриптов и написания в них лишних строчек, воспользовавшись существующим для этого файлом sysctl.conf. Но это лирика всё ;)

Огромное THS, пощел копатся =)

Dreid
Lunx
SMTP, FTP, HTTP и POP вроде ролучилось /=), токо пока не протесчу не уверен, а как отсекать входящий трафик ума не приложу, нуно пропускать токо тот входящий трафик который инициирован из внутренней сети, т.е. например загрузка какая либо или еще что.

man iptables на предмет

--state ESTABLISHED,RELATED


Да совсем забыл, нужно еще енту заразу научить по пользователям трафик считать.

По пользователям или по IP? Если по IP, и их немного, можно вместо ACCEPT (там, где оно проставлено) прописать перенаправление на какую-нибудь собственную цепочку, а в ней просто на каждый отдельный IP написать ACCEPT — тогда сможешь по счётчикам самого IPTABLES считать.

Dreid
fly4life
Просто можно обойтись без нагромождения подобных стартовых скриптов и написания в них лишних строчек, воспользовавшись существующим для этого файлом sysctl.conf. Но это лирика всё ;)

А в слаке скрипты вообще BSD-style, потому и так :)

Там изначально SystemV и не пахнет.

Но да, действительно лирика

Genie

Lunx, поищи поиском по форуму по слову iptables

не так давно я конфиг домашнего шлюза выкладывал.

вкупе с докой — для первого времени на «поразбираться» — более чем достаточно.

anonymous

Люди, хелп.. я новичок в линуксе…появилась необходимость в организации доступа к инета для моей локальной сети. Я сам подключен к инету через другую локалку. В ней для раздачи Ипов используется DHCP. Какой ПО мне нужно и как его надо настроить?

Вот текст инфо файла от работы DHCP-клиента для внешнего интерфейса (eth1). Внутри моей локалки Ипы раздаются статично. Ип внутреннего интерфейса 192.168.99.1

IPADDR=192.168.2.109

NETMASK=255.255.255.255

NETWORK=192.168.2.109

BROADCAST=192.168.2.109

GATEWAY=192.168.2.1

DOMAIN=’SoHo.NET.ua'

DNS=192.168.11.1

DHCPSID=192.168.2.1

DHCPGIADDR=0.0.0.0

DHCPSIADDR=192.168.2.1

DHCPCHADDR=00:10:5A:1E:E5:9C

DHCPSHADDR=00:11:11:7B:AE:24

DHCPSNAME=»

LEASETIME=604800

RENEWALTIME=302400

REBINDTIME=529200

INTERFACE=’eth1\′

CLASSID=’Linux 2.4.22 i686\′

CLIENTID=00:10:5A:1E:E5:9C

читал много мануалов по этой теме — но ни один из методов не сработал… навен сказалось кривожопие коленного сустава )) в общем — хелп ми

что и как я должен делать ……. если можно — пошаговые команды

Genie

мдаа..

ну вот совет из предыдущего сообщения ещё никто не отменял

на линухе надо настроить iptables для использования его функциональности MASQUERADE.

что именно она делает — имеется в описании, ссылка на которое есть в прикреплённой теме в разделе «Безопасность». описание там есть и на русском.

конфиг моего домашнего шлюза, который сам получает динамический адрес (как-никак на gprs), поиском по форуму тоже находится.

вот что уже будет непонятно после разбирательства по описанию над конфигом, уже можно будет несколько более предметно говорить.

anonymous

ясно, спасибо… яхоть и пробовал так как писалось выше сделать, и ничего не получилось.. попробую еще раз

anonymous

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

и еще вопрос — настройка шлюза при внешнем статическом адресе чем то отличается для DHCP

fly4life
catal
плиз, скинь мне на мыло свой конфиг… по поиску не получается — выкидывает ошибку постоянно…..

http://www.nixp.ru/cgi-bin/forum/YaBB.pl?board=faq;action=display;num=1095168568;start=20#20

catal
и еще вопрос — настройка шлюза при внешнем статическом адресе чем то отличается для DHCP

Разве что в настройках правил для iptables будет фигурировать действие 'MASQUERADE’, а не 'SNAT’. Первое действие — это маскарадинг, который используется при динамическом присваивании IP адреса внешнему интерфейсу твоего маршрутизатора. Если же IP адрес на интерфейсе статический, то лучше использовать действие 'SNAT’, у которого, в отличии от 'MASQUERADE’, есть ключ '--to-source’, задающий этот самый статический IP адрес.

anonymous

парни, пасиб…. навен поэтому не работало что я вместо маскарада использовал НАТ…. ушел ковыряться ))

Genie
Разве что в настройках правил для iptables будет фигурировать действие 'MASQUERADE’, а не 'SNAT’. Первое действие — это маскарадинг, который используется при динамическом присваивании IP адреса внешнему интерфейсу твоего маршрутизатора. Если же IP адрес на интерфейсе статический, то лучше использовать действие 'SNAT’, у которого, в отличии от 'MASQUERADE’, есть ключ '--to-source’, задающий этот самый статический IP адрес.

фактически, по функциональности, MASQUERADE — это частный случай SNAT.

если в SNAT необходимо указывать явно --to-source, то можно рассматривать MASQUERADE как SNAT --to-source ${адрес_интерфейса_в_который_уходит_пакет}.

что (последнее) явно недостижимо при динамически выделяемом адресе, как при использовании ppp/pptp, так и при выделении адреса по dhcp.

fly4life
Genie
фактически, по функциональности, MASQUERADE — это частный случай SNAT.

Несовсем ;). Действие SNAT при остановке интерфейса сохраняет данные о потерянных соединениях в таблицах conntrack, которые [соединения] могут быть восстановлены после возобновления работы интерфейса. MASQUERADE же напротив — «забывает» всяческие соединения.

anonymous

вопрос возник в ходе ковыряния во всей системе…

наткнулся на интересный каталог /proc/sys/net/ipv4. там есть файлец ip_forward. он у меня пустой… в то время как во всех мануалах я читал что при включеном форвардинге там должна быть единица…. яч так понимаю что мне нужно перекомпилировать ядро? кстати… вручную записать туда единицу я не могу — он ее не сохраняет.. права на запись файла в порядке… при загрузке системы пишеться Activating IPV4 forwarding… так что я немного запутался откуда тут ноги ростут

fly4life
catal
вопрос возник в ходе ковыряния во всей системе…

наткнулся на интересный каталог /proc/sys/net/ipv4. там есть файлец ip_forward. он у меня пустой… в то время как во всех мануалах я читал что при включеном форвардинге там должна быть единица…. яч так понимаю что мне нужно перекомпилировать ядро? кстати… вручную записать туда единицу я не могу — он ее не сохраняет.. права на запись файла в порядке… при загрузке системы пишеться Activating IPV4 forwarding… так что я немного запутался откуда тут ноги ростут

Как (чем) просматриваешь этот файлик?

Что знчит «не сохраняет"? Как записывать пытаешься?

Если при загрузке пишется «Activating IPV4 forwarding» и при этом никаких ошибок не валится, то всё у тебя включено (или же меня дистрибутивостроители слаквари разочаруют).

anonymous

просматриваю и записываю встроенным редактором миднайта… пробовал перенаправлением в файл… cat /proc/sys/net/ipv4/ip_forward тоже ведет себя странно — пишет что такого файла нет…. и все файлы нулевого размера

fly4life
catal
просматриваю и записываю встроенным редактором миднайта… пробовал перенаправлением в файл… cat /proc/sys/net/ipv4/ip_forward тоже ведет себя странно — пишет что такого файла нет…. и все файлы нулевого размера

Естесственно, что нулевого размера. proc — это виртуальная файловая система ;).

А записывать в этот файл нужно командой:

echo 1 > /proc/sys/net/ipv4/ip_forward
anonymous

понял, дурак, исправлюсь ))

anonymous

кстати, вот допустим я подхожу к незнакомой машине, как мне узнать, включен ли на ней в ядро форвардиг, работает ли он… короче определить пригодность конфигурации для создания шлюза

fly4life
catal
кстати, вот допустим я подхожу к незнакомой машине, как мне узнать, включен ли на ней в ядро форвардиг, работает ли он…

cat /proc/sys/net/ipv4/ip_forward

catal
короче определить пригодность конфигурации для создания шлюза

Интересный термин ;). Смотря что ты под ним подразумеваешь.

Genie
А записывать в этот файл нужно командой:

да нет, и из mc работает нормально… ;)

F4 1 F2 Enter F10

:D

определить пригодность конфигурации для создания шлюза

взять конфиг от ядра этой конкретной машинки и сравнить с конфигом «эталонной».

если различий в плане _NF_ не будет — значит, можно использовать.

fly4life
Genie
да нет, и из mc работает нормально… ;)

F4 1 F2 Enter F10

:D

Гы, а вот у меня не записывает ;) (Ошибка: невозможно сохранить файл). Видимо, у catal’а тоже. А вот почему так, я теряюсь в догадках…

catal

ооо, а где мне посмотреть конфиг моего ядра? и где увидеть «эталонный»?

fly4life
catal
ооо, а где мне посмотреть конфиг моего ядра?

Если у тебя ядро дистрибутивное, то, возможно, дистрибутивостроители положили конфиг от своего ядра в каталог /boot.

Ну, а в общем случае <font size=«-2»>(если, конечно же, включена в ядро соответствуюящая опция)</font> можно посмотреть командой:

zcat /proc/config.gz


catal
и где увидеть «эталонный»?

Вероятно, на работающем шлюзе ;)

catal

таккс, с тем скрптом что ы мне дали возникло 3 проблемы -

1. не находил iptables — исправил, у меня они по другому пути лежали….

2. bash не воспринимает команду accept

3. trusted_hosts mascaradue_hosts что это за файлы… у меня их нет, если нужно создавать — то с какими правами на доступ и самое главное…ЧТО В НИХ ЗАПИСАТЬ НУЖНО?

Genie

ой, не.

это — не скрипт!

это — конфиг. точнее даже — набор правил.

ну, т.е. его можно сделать скриптом…

в общем, применяется оно так:

# iptables-restore < iptables.rule-set

не уверен о работоспособности во всех конфигурациях, но можно сделать что-то типа такого:

$ ls -l /var/lib/iptables/_active
-rwxr-xr-x    1 root     root          534 Апр  4 10:18 /var/lib/iptables/_active
$ cat /var/lib/iptables/_active  
#!/sbin/iptables-restore
*filter
:INPUT ACCEPT -
:FORWARD ACCEPT -
:OUTPUT ACCEPT -
-A INPUT -s 127.0.0.0/255.0.0.0 -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.0.0 -j ACCEPT
-A INPUT -s xxx.xxx.0.0/255.255.224.0 -j ACCEPT
-A INPUT -j ACCEPT
-A OUTPUT -d 127.0.0.0/255.0.0.0 -j ACCEPT
-A OUTPUT -d 192.168.0.0/255.255.0.0 -j ACCEPT
-A OUTPUT -d xxx.xxx.0.0/255.255.224.0 -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT

(у меня так работает, если его запустить

# /var/lib/iptables/_active


)

catal

Всем спасибо за помощь… не рассчитываль получить такую поддержку…. проблема решена… вот как я с этим справился… честно, не помню откуда взял… но вот скрипт

#! /bin/bash

# insert modules

insmod ip_tables

insmod ip_conntrack

insmod iptable_nat

insmod ipt_MASQUERADE

# flush rules in tables

iptables -F

iptables -t nat -F

# set up policy

iptables -P INPUT ACCEPT

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT

# set up masquerading for everything not destined to the localnets

iptables -t nat -A POSTROUTING -d ! 192.168.99.0/24 -j MASQUERADE

# only forward packages for our subnets

iptables -A FORWARD -s 192.168.99.0/24 -j ACCEPT

iptables -A FORWARD -d 192.168.99.0/24 -j ACCEPT

# enable forwarding

echo «1» > /proc/sys/net/ipv4/ip_forward

помоему несложно…. хотя еще надо дорабатывать…

anonymous

http://www.opennet.ru/docs/RUS/iptables/index.html

И вопросы бы отпали все сразу.

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

catal

где ж ты раньше был… а по поводу ошибок в безопасности… так тут же все разрешено…..

теперь потихоньку закрывать буду

catal

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

Последние комментарии

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.