Lunx
написал 1 ноября 2004 года в 19:25 (2562 просмотра)
Ведет себя
как мужчина; открыл 5 тем в форуме, оставил 9 комментариев на сайте.
Как ентот е****ый шлюз настроить, мозги второй день плавится.
Пасиба заранее =)
// Тему переместил(а) Dmitry Shurupov из форума «Софт под *nix».
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Дык, написал бы, что за шлюз, что надо на нём (прокси/НАТ)? Что сделал и что не получилось?
А-то как-то телепатировать тяжко в понедельник.
Уточни вопрос, пожалуйста.
Ты хочешь унать, где тебе прописать default gateway? Тогда тебе в /etc/rc.d/rc.inet1
Или что ты хочешь-то?
Мне надо поднять шлюз, HTTP,FTP,SMTP,POP должен пропускать, из вне должен пропускать только по запросу внутренних рользователей(что то типа брандмауера).
Соображаю ооочень туго, с пятницы не спавши мз за ентого шлюза *******.
Мда. Тогда man iptables, далее настраивай, а мы поможем.
И всё-таки скажи, что уже получилось — разбей задачу на более мелкие.
Ну тогда для начала поднимай 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 вроде ролучилось /=), токо пока не протесчу не уверен, а как отсекать входящий трафик ума не приложу, нуно пропускать токо тот входящий трафик который инициирован из внутренней сети, т.е. например загрузка какая либо или еще что.
Да совсем забыл, нужно еще енту заразу научить по пользователям трафик считать.
В слаке делается просто
в /etc/rc.firewall
ну, это вам, батенька, сюда.
А это прямиком в гугл!
не, ну это можно, впринципе, делать в любом дистрибутиве, в каком-нибудь /etc/rc.d/rc.local. Просто можно обойтись без нагромождения подобных стартовых скриптов и написания в них лишних строчек, воспользовавшись существующим для этого файлом sysctl.conf. Но это лирика всё ;)
Огромное THS, пощел копатся =)
man iptables на предмет
По пользователям или по IP? Если по IP, и их немного, можно вместо ACCEPT (там, где оно проставлено) прописать перенаправление на какую-нибудь собственную цепочку, а в ней просто на каждый отдельный IP написать ACCEPT — тогда сможешь по счётчикам самого IPTABLES считать.
А в слаке скрипты вообще BSD-style, потому и так :)
Там изначально SystemV и не пахнет.
Но да, действительно лирика
Lunx, поищи поиском по форуму по слову iptables
не так давно я конфиг домашнего шлюза выкладывал.
вкупе с докой — для первого времени на «поразбираться» — более чем достаточно.
Люди, хелп.. я новичок в линуксе…появилась необходимость в организации доступа к инета для моей локальной сети. Я сам подключен к инету через другую локалку. В ней для раздачи Ипов используется 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
читал много мануалов по этой теме — но ни один из методов не сработал… навен сказалось кривожопие коленного сустава )) в общем — хелп ми
что и как я должен делать ……. если можно — пошаговые команды
мдаа..
ну вот совет из предыдущего сообщения ещё никто не отменял
на линухе надо настроить iptables для использования его функциональности MASQUERADE.
что именно она делает — имеется в описании, ссылка на которое есть в прикреплённой теме в разделе «Безопасность». описание там есть и на русском.
конфиг моего домашнего шлюза, который сам получает динамический адрес (как-никак на gprs), поиском по форуму тоже находится.
вот что уже будет непонятно после разбирательства по описанию над конфигом, уже можно будет несколько более предметно говорить.
ясно, спасибо… яхоть и пробовал так как писалось выше сделать, и ничего не получилось.. попробую еще раз
плиз, скинь мне на мыло свой конфиг… по поиску не получается — выкидывает ошибку постоянно…..
и еще вопрос — настройка шлюза при внешнем статическом адресе чем то отличается для DHCP
http://www.nixp.ru/cgi-bin/forum/YaBB.pl?board=faq;action=display;num=1095168568;start=20#20
Разве что в настройках правил для iptables будет фигурировать действие 'MASQUERADE’, а не 'SNAT’. Первое действие — это маскарадинг, который используется при динамическом присваивании IP адреса внешнему интерфейсу твоего маршрутизатора. Если же IP адрес на интерфейсе статический, то лучше использовать действие 'SNAT’, у которого, в отличии от 'MASQUERADE’, есть ключ '--to-source’, задающий этот самый статический IP адрес.
парни, пасиб…. навен поэтому не работало что я вместо маскарада использовал НАТ…. ушел ковыряться ))
фактически, по функциональности, MASQUERADE — это частный случай SNAT.
если в SNAT необходимо указывать явно --to-source, то можно рассматривать MASQUERADE как SNAT --to-source ${адрес_интерфейса_в_который_уходит_пакет}.
что (последнее) явно недостижимо при динамически выделяемом адресе, как при использовании ppp/pptp, так и при выделении адреса по dhcp.
Несовсем ;). Действие SNAT при остановке интерфейса сохраняет данные о потерянных соединениях в таблицах conntrack, которые [соединения] могут быть восстановлены после возобновления работы интерфейса. MASQUERADE же напротив — «забывает» всяческие соединения.
вопрос возник в ходе ковыряния во всей системе…
наткнулся на интересный каталог /proc/sys/net/ipv4. там есть файлец ip_forward. он у меня пустой… в то время как во всех мануалах я читал что при включеном форвардинге там должна быть единица…. яч так понимаю что мне нужно перекомпилировать ядро? кстати… вручную записать туда единицу я не могу — он ее не сохраняет.. права на запись файла в порядке… при загрузке системы пишеться Activating IPV4 forwarding… так что я немного запутался откуда тут ноги ростут
Как (чем) просматриваешь этот файлик?
Что знчит «не сохраняет"? Как записывать пытаешься?
Если при загрузке пишется «Activating IPV4 forwarding» и при этом никаких ошибок не валится, то всё у тебя включено (или же меня дистрибутивостроители слаквари разочаруют).
просматриваю и записываю встроенным редактором миднайта… пробовал перенаправлением в файл… cat /proc/sys/net/ipv4/ip_forward тоже ведет себя странно — пишет что такого файла нет…. и все файлы нулевого размера
Естесственно, что нулевого размера. proc — это виртуальная файловая система ;).
А записывать в этот файл нужно командой:
понял, дурак, исправлюсь ))
кстати, вот допустим я подхожу к незнакомой машине, как мне узнать, включен ли на ней в ядро форвардиг, работает ли он… короче определить пригодность конфигурации для создания шлюза
cat /proc/sys/net/ipv4/ip_forward
Интересный термин ;). Смотря что ты под ним подразумеваешь.
да нет, и из mc работает нормально… ;)
F4 1 F2 Enter F10
:D
взять конфиг от ядра этой конкретной машинки и сравнить с конфигом «эталонной».
если различий в плане _NF_ не будет — значит, можно использовать.
Гы, а вот у меня не записывает ;) (Ошибка: невозможно сохранить файл). Видимо, у catal’а тоже. А вот почему так, я теряюсь в догадках…
ооо, а где мне посмотреть конфиг моего ядра? и где увидеть «эталонный»?
Если у тебя ядро дистрибутивное, то, возможно, дистрибутивостроители положили конфиг от своего ядра в каталог /boot.
Ну, а в общем случае <font size=«-2»>(если, конечно же, включена в ядро соответствуюящая опция)</font> можно посмотреть командой:
Вероятно, на работающем шлюзе ;)
таккс, с тем скрптом что ы мне дали возникло 3 проблемы -
1. не находил iptables — исправил, у меня они по другому пути лежали….
2. bash не воспринимает команду accept
3. trusted_hosts mascaradue_hosts что это за файлы… у меня их нет, если нужно создавать — то с какими правами на доступ и самое главное…ЧТО В НИХ ЗАПИСАТЬ НУЖНО?
ой, не.
это — не скрипт!
это — конфиг. точнее даже — набор правил.
ну, т.е. его можно сделать скриптом…
в общем, применяется оно так:
не уверен о работоспособности во всех конфигурациях, но можно сделать что-то типа такого:
(у меня так работает, если его запустить
)
Всем спасибо за помощь… не рассчитываль получить такую поддержку…. проблема решена… вот как я с этим справился… честно, не помню откуда взял… но вот скрипт
#! /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
помоему несложно…. хотя еще надо дорабатывать…
http://www.opennet.ru/docs/RUS/iptables/index.html
И вопросы бы отпали все сразу.
Почитай, многому научишься, увидишь где допущены ошибки в правилах безопасности системы.
где ж ты раньше был… а по поводу ошибок в безопасности… так тут же все разрешено…..
теперь потихоньку закрывать буду
ну вот и нашелся повод еще раз вас всех подоставать…. шлюз то работает, все супер… вот только сервер провайдера хитрый… он с моих клиентских ашин не пускает на наш внутрисетевой форум, фтп и т д…… и еще не все странички открываются…. способ решения как я настраивал его я выкладывал выше… посоветуйте что нужно сделать…я так понимаю что нужно чтоб сервер не догадывался, что кроме моей машины за ней еще несколько… тоесть надо сделать так чтоб сервер думал, что все пакеты инициируются моим шлюзрм.. я это так понимаю