URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91700
[ Назад ]

Исходное сообщение
"Мой первый сервер - )"

Отправлено petkas , 03-Июн-11 09:23 
Здравствуйте! в этой теме хочу описать как я организовал свой первый сервер и получить советы и рекомендации, потому что не уверен на 100% в правильности и  эффективности своих действий. Оговорюсь, что делал все первый раз, и от глубоко знания линукса я далек, только инет и нервы! В общем:
1) установил на отдельный ПК Ubuntu server 10.10, сетевая карта eth0(смотрит на модем) - 192,168,1,2, карта eth1(локалка соответственно) - 192,168,0,1.
2) включил преобразование сетевых адресов через SNAT.
3) сохранил правила iptables в файл и прописал в автозагрузку
4) установил squid и настроил основные параметры: порт, кэш-дир, кэш-мем, моей локалке разрешено все,  остальным запрет.
5) завернул весь трафик на squid через DNAT
6) установил и настроил dnsmask (из настроек- указал интерфейс eth1 и диапазон адресов для раздачи)
7) установил и настроил webmin
8) установил Dansguardian, но пока трафик на него не завернул, только прокси в браузере т.к. только экспериментирую со списками.
9) ну и на свою машину установил  PuTTY

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

Теперь для чего я собственно тут все это излил:
1) на сколько правильны мои действия и что вы можете посоветовать, хотя как мне кажется, для моих нужд- раздачи и фильтрации инета этого достаточно...
2) некоторые сайты через squid открываются не полностью а как макетом что ли, наверное известная проблема, куда копать?
3) все компы в локалке имеют адреса 192.168.0.1 и выше, но к одному из компов01 через вторую сетевуху подключен еще компьютер2, для совместного использования документов, в них в настройках сет. карт можно прописывать 192,168,2,1 и 192,168,2,2 т.е. нужно же использовать другу подсеть?
4) как через прокси открыть порт для определенной программы? без сервера, в связке модем + свитч все настраивал в модеме, но как сделать тут?
5) в одном из постов прочитал что нужно делать следующие:

 # ptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
(этой командой вы разрешили прохождение пакетов между сетевыми интерфейсами из локальной сети 192.168.0.0/24)
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
(этой командой вы разрешили прохождение пакетов между сетевыми интерфейсами в локальную сеть 192.168.0.0/24)

но ограничился только преобразованием адресов через SNAT.

Буду очень признателен  за любой совет и помощь!!!


Содержание

Сообщения в этом обсуждении
"Мой первый сервер - )"
Отправлено Grey , 03-Июн-11 09:43 
> 3) все компы в локалке имеют адреса 192.168.0.1 и выше, но к
> одному из компов01 через вторую сетевуху подключен еще компьютер2, для совместного
> использования документов, в них в настройках сет. карт можно прописывать 192,168,2,1
> и 192,168,2,2 т.е. нужно же использовать другу подсеть?

- компьютер2 лучше включить в свич (общий сегмент изернет) и дать ему адрес из сети 192.168.0.0/24 (видимо все компы у вас в этой подсети)
- если так делать не хочется по каким-то причинам, то "одному из компов01" должен быть роутером (включить службу маршрутизации) на сервере прописать маршрут вида: route add -net 192.168.2.0 192.168.0.x -netmask 255.255.255.0
где 192.168.0.x - ip "одному из компов01", стоящий на сетевой, которая смотрит в сеть 192.168.0.0/24,
192.168.2.0 - сеть, в которой находится компьютер2. т.е. "одному из компов01" на второй сетёвке адрес 192.168.2.1 а на компьютер2 адрес 192.168.2.2, можно с маской 255.255.255.0

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


"Мой первый сервер - )"
Отправлено petkas , 03-Июн-11 10:54 
> тогда компьютер2 сможет видеть всю сеть и выходить в инет (если на
> сервере специально не будет запретов) и вся сеть сможет видеть компьютер2.
> если нужно это ограничивать, то ограничения лучше строить на фаерволе сервера.

я наверное неправильно выразился, компьютер01 принадлежит локальной сети  192,168,0,1-192,168,0,255 и имеет выход в инет. Компьютер2 соединен с компьютером01 только для работы с ним, с его документами, и ему (компьютеру2) не нужно видеть всю сеть и инет, простое соединение комп-комп. Т.е. компьютер01 смотрит с адреса 192,168,0,3 (например) в локальную сеть и инет, но для связи с компьютером2 нужно указывать адрес из другого диапазона?



"Мой первый сервер - )"
Отправлено reader , 03-Июн-11 11:05 
>> тогда компьютер2 сможет видеть всю сеть и выходить в инет (если на
>> сервере специально не будет запретов) и вся сеть сможет видеть компьютер2.
>> если нужно это ограничивать, то ограничения лучше строить на фаерволе сервера.
> я наверное неправильно выразился, компьютер01 принадлежит локальной сети  192,168,0,1-192,168,0,255
> и имеет выход в инет. Компьютер2 соединен с компьютером01 только для
> работы с ним, с его документами, и ему (компьютеру2) не нужно
> видеть всю сеть и инет, простое соединение комп-комп. Т.е. компьютер01 смотрит
> с адреса 192,168,0,3 (например) в локальную сеть и инет, но для
> связи с компьютером2 нужно указывать адрес из другого диапазона?

лучше да


"Мой первый сервер - )"
Отправлено reader , 03-Июн-11 11:04 
>[оверквотинг удален]
> 8) установил Dansguardian, но пока трафик на него не завернул, только прокси
> в браузере т.к. только экспериментирую со списками.
> 9) ну и на свою машину установил  PuTTY
> Организовывать сервер пришлось из за нужд в фильтрации инета, я искренне старался
> понимать что я делаю,и каждый мною проделанный пункт это довольно много
> прочитанных интернет статей и потраченное времени, да бывает и такое-))
> Теперь для чего я собственно тут все это излил:
> 1) на сколько правильны мои действия и что вы можете посоветовать, хотя
> как мне кажется, для моих нужд- раздачи и фильтрации инета этого
> достаточно...

начинайте смотреть, а можно ли вашу схему обойти.

> 2) некоторые сайты через squid открываются не полностью а как макетом что
> ли, наверное известная проблема, куда копать?

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

> 3) все компы в локалке имеют адреса 192.168.0.1 и выше, но к
> одному из компов01 через вторую сетевуху подключен еще компьютер2, для совместного
> использования документов, в них в настройках сет. карт можно прописывать 192,168,2,1
> и 192,168,2,2 т.е. нужно же использовать другу подсеть?
> 4) как через прокси открыть порт для определенной программы? без сервера, в
> связке модем + свитч все настраивал в модеме, но как сделать
> тут?

смотрите в оригинальном конфиге про
acl SSL_ports port 443
acl Safe_ports port 80

но нужно учитывать с каким протоколом будит работать программа.

> 5) в одном из постов прочитал что нужно делать следующие:
>

 # ptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT 
> (этой командой вы разрешили прохождение пакетов между сетевыми интерфейсами из локальной
> сети 192.168.0.0/24)
> iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
> (этой командой вы разрешили прохождение пакетов между сетевыми интерфейсами в локальную
> сеть 192.168.0.0/24)

> но ограничился только преобразованием адресов через SNAT.

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

> Буду очень признателен  за любой совет и помощь!!!


"Мой первый сервер - )"
Отправлено petkas , 03-Июн-11 11:13 
> начинайте смотреть, а можно ли вашу схему обойти.

обойти наверное нет, да и умельцев таких у меня тут нет..

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

я ип робовал без фильтрации, просто через squid


> смотрите в оригинальном конфиге про
> acl SSL_ports port 443
> acl Safe_ports port 80
> но нужно учитывать с каким протоколом будит работать программа.

а можно подробнее? программа работает с TCP,

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

это подойдет:


# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT

# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

# Включаем NAT
iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE

# Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth0 -o eth1 -j REJECT


"Мой первый сервер - )"
Отправлено reader , 03-Июн-11 11:32 
>> начинайте смотреть, а можно ли вашу схему обойти.
> обойти наверное нет, да и умельцев таких у меня тут нет..

а почему вы думаете что я или кто-то еще им не поможет ;)

>> это может быть и из-за фильтрации, выпустите одну машину без фильтрации смотрите
>> что будет, так же попробуйте с прописанным прокси что будет.
> я ип робовал без фильтрации, просто через squid

с прописанным в браузере?
может из-за mtu

>> смотрите в оригинальном конфиге про
>> acl SSL_ports port 443
>> acl Safe_ports port 80
>> но нужно учитывать с каким протоколом будит работать программа.
> а можно подробнее? программа работает с TCP,

имеется ввиду более высокоуровневый протокол - http, ftp, smtp, ....


>[оверквотинг удален]
> # Разрешаем трафик на loopback-интерфейсе
> iptables -A INPUT -i lo -j ACCEPT
> # Разрешаем доступ из внутренней сети наружу
> iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
> # Включаем NAT
> iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE
> # Разрешаем ответы из внешней сети
> iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
> # Запрещаем доступ снаружи во внутреннюю сеть
> iptables -A FORWARD -i eth0 -o eth1 -j REJECT

ну вот, достаточно в браузере прописать внешний прокси, который не на порту который вы заворачиваете, и можно весь урок смотреть кинушку для детей за 18 :)


"Мой первый сервер - )"
Отправлено petkas , 03-Июн-11 11:42 
> а почему вы думаете что я или кто-то еще им не поможет
> ;)

ну да, спасибо!


> с прописанным в браузере?
> может из-за mtu

нет, на squid заворачивает автоматически.


> имеется ввиду более высокоуровневый протокол - http, ftp, smtp, ....

да, вообще это нужно для shareman.


> ну вот, достаточно в браузере прописать внешний прокси, который не на порту
> который вы заворачиваете, и можно весь урок смотреть кинушку для детей
> за 18 :)

ну я так понимаю нужно прописать правило запрещающее все исходящие соединения с других портов?не подскажите?



"Мой первый сервер - )"
Отправлено Andrey Mitrofanov , 03-Июн-11 11:50 
> ну я так понимаю нужно прописать правило запрещающее все исходящие соединения с
> других портов?не подскажите?

Не, не правильно понимаете. Нужно запрещать _всё_, а потом разрешать только необходимое.


"Мой первый сервер - )"
Отправлено petkas , 03-Июн-11 11:54 
>> ну я так понимаю нужно прописать правило запрещающее все исходящие соединения с
>> других портов?не подскажите?
> Не, не правильно понимаете. Нужно запрещать _всё_, а потом разрешать только необходимое.

это делается правилами iptables?


"Мой первый сервер - )"
Отправлено reader , 03-Июн-11 12:01 
>>> ну я так понимаю нужно прописать правило запрещающее все исходящие соединения с
>>> других портов?не подскажите?
>> Не, не правильно понимаете. Нужно запрещать _всё_, а потом разрешать только необходимое.
> это делается правилами iptables?

да, политики по умолчанию в DROP, потом что нужно разрешить.
и в конце для своей подсети можно REJECT


"Мой первый сервер - )"
Отправлено petkas , 03-Июн-11 12:06 
>>>> ну я так понимаю нужно прописать правило запрещающее все исходящие соединения с
>>>> других портов?не подскажите?
>>> Не, не правильно понимаете. Нужно запрещать _всё_, а потом разрешать только необходимое.
>> это делается правилами iptables?
> да, политики по умолчанию в DROP, потом что нужно разрешить.
> и в конце для своей подсети можно REJECT

вы меня конечно извините, но можно как то подробнее, есть сервер, есть сеть, можнно пример команд?


"Мой первый сервер - )"
Отправлено reader , 03-Июн-11 12:16 
>>>>> ну я так понимаю нужно прописать правило запрещающее все исходящие соединения с
>>>>> других портов?не подскажите?
>>>> Не, не правильно понимаете. Нужно запрещать _всё_, а потом разрешать только необходимое.
>>> это делается правилами iptables?
>> да, политики по умолчанию в DROP, потом что нужно разрешить.
>> и в конце для своей подсети можно REJECT
>  вы меня конечно извините, но можно как то подробнее, есть сервер,
> есть сеть, можнно пример команд?

http://www.opennet.me/docs/RUS/iptables/#EXAMPLECODE


"Мой первый сервер - )"
Отправлено petkas , 03-Июн-11 12:20 

> http://www.opennet.me/docs/RUS/iptables/#EXAMPLECODE

на изучении этого у меня просто нет времени, но все равно спасибо!


"Мой первый сервер - )"
Отправлено petkas , 07-Июн-11 07:33 
т.к. вопрос для меня остается открытым пишу вновь, можно без  http://www.opennet.me/docs/RUS/iptables/#EXAMPLECODE одним правилом закрыть все для всех, и затем открыть только для моей локалки... если да, то напишите пожалуйста это правило...

"Мой первый сервер - )"
Отправлено reader , 07-Июн-11 12:20 
> т.к. вопрос для меня остается открытым пишу вновь, можно без  http://www.opennet.me/docs/RUS/iptables/#EXAMPLECODE
> одним правилом закрыть все для всех, и затем открыть только для
> моей локалки... если да, то напишите пожалуйста это правило...

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


"Мой первый сервер - )"
Отправлено petkas , 07-Июн-11 12:32 
> на этом форуме подсказывают, но не сделают за вас, тем более что
> вопрос простой и соответственно скушен.

я специально несколько раз сделал упоминание о моем малом опыте работы с линукс-системами вообще, не говоря об организации серверов, и отметил что вопросы мои могут быть слишком просты и соответственно скушны, и ждал понимания

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

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



"Мой первый сервер - )"
Отправлено dile , 07-Июн-11 12:50 
>> если не кайф читать документацию поищите в репозитории генератор правил
> и если вам не кайф написать вместо этого ответа пару строк о
> том что я спросил, к чему тогда вообще распыляться мне на
> ответ? у меня физически нет времени изучать все это, хоть и
> есть огромное желание, но есть много других дел кроме как администрирования
> линукс, и их гораздо больше.

мир так устроен, что каждый должен заниматься своим делом(хлеб добывать), а если добыл, то хобби "отрабатывать" и повезет если одно с другим совпадет


"Мой первый сервер - )"
Отправлено petkas , 07-Июн-11 12:59 
> мир так устроен, что каждый должен заниматься своим делом(хлеб добывать), а если
> добыл, то хобби "отрабатывать" и повезет если одно с другим совпадет

все ясно, обычная ситуация которую зачастую встречаешь на форумах, спасибо за ПОМОЩЬ.



"Мой первый сервер - )"
Отправлено dile , 07-Июн-11 13:12 
>> мир так устроен, что каждый должен заниматься своим делом(хлеб добывать), а если
>> добыл, то хобби "отрабатывать" и повезет если одно с другим совпадет
> все ясно, обычная ситуация которую зачастую встречаешь на форумах, спасибо за ПОМОЩЬ.

это "философия"(читай лирика) без нее ни куда, нужно понимать что вокруг происходит и это все немного намекает что нужно знать как что работает, тогда сможешь что-то сделать(как в жизни так и в других местах поинтереснее, я имею ввиду фаерволы :)


"Мой первый сервер - )"
Отправлено petkas , 07-Июн-11 13:45 
>  это "философия"(читай лирика) без нее ни куда, нужно понимать что вокруг
> происходит и это все немного намекает что нужно знать как что
> работает, тогда сможешь что-то сделать(как в жизни так и в других
> местах поинтереснее, я имею ввиду фаерволы :)

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