Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Организация небольшой сети на linux Fedora Core3

Автор: Borgia
Дата сообщения: 27.11.2004 17:07
Организация Небольшой сети на linux Fedore Core3

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

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

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

Итак сервисы которые будет обеспечивать сервер
1.DHCP
2.DNS
3.PROXY
4.FIREWALL
5.FTP
6.SAMBA
7.MAIL
8.WEB
9.PRINTSERVER
Лобаратория
Выделено Три комп.
СЕРВЕР
1.3 сетевых адаптера
а. eth0 получает IP от DHCP (Provaider)
в. eth1 назначен адрес 192.168.20.1
с. eth2 назначен адрес 192.168.30.1
****************************************************
Небольшое добавление от AndreiVA

Небольшое замечание или дополнение( не знаю даже) :
На две внутренние подсети не обязательно ставить две сетевые карты. Можно разделить одну. Вот так:
eth1 - 192.168.20.1
и
eth1:1 - 192.168.30.1

Linux – сам все разделит. Не надо будет физически две сети городить.

Берем файл ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=192.168.20.101
NETMASK=255.255.255.0
NETWORK=192.168.20.0
BROADCAST=192.168.20.255

и копируем его в файл ifcfg-eth1:1. Затем правим его и получаем:
DEVICE=eth1:1
ONBOOT=yes
IPADDR=192.168.30.101
NETMASK=255.255.255.0
NETWORK=192.168.30.0
BROADCAST=192.168.30.255

Пкерезапускаем сеть - service network restart

И видим , что у нас 3-и рабочих интерфейса(eth0, eth1 и eth1:1). Все они отлично работают.
Следовательно до hub-а тянем всего одину витую пару, а дальше все зависит от Вашей фонтазии. Вы имеете две внутреннии подсети.
**************************************************************
2.Несущественно но все таки
K6 500 amd
ram - 256 mb
hard 10 gb
остальные 2 комп. которые будут играть роль клиентов двух подсетей конфигурация похожая
и тоже установленна Fedora Core3

Установка прогр. обеспечения на сервере,

Выбрана установка вида SERVER плюс
1 X-window ( наверное не совсем верно -типа кто ставит Х на сервер -хм ну перестраховался)
2 Fluxbox (хотя можно было бы и XFCE)
3 Editors -VIM , VIM-X11
4 Grafical Internet – Firefox ,Gftp (вприципе можно было и не устанавливать)
5 Text based Internet – Lynx, fetchmail, mutt, ncftp, elinks
6 Server conf. tools - выбрал все
7 WEB.server Mail, Samba, Dns, Ftp,
8 Network servers – Kerberos, Ldap, Dhcp, Nis
9 Development Tools – выбрал по умолчанию
10 Administration Tools – выбрал все
11 System tools – sysstat nmap, mc, net-snmp-utils
12 Printing Support – все

Здесь хочется услышить совет профессионалов טпо поводу выбора софта при инсталяции - желательно с пояснениями ну и сообразно поставленным задачам. (Жду Дополнений)

Раздел харддиска

1 под рут ( / ) - было веделенно 4.9Гб
2 swap - 512 mb
3 /HOME - 2.2 gb
4 /VAR - 1.9 gb

( здесь хочу отметить что если вы собираетесь предостовлять юзерам место для хранения информации на сервере в домашних директориях то желательно выделить место побольше или подмонтировать для этих целей отдельный харддиск, тоже самое касается и директории /VAR .
Так как там распологается по умолчанию WEB FTP TMP-директ. и все логи . Можно схитрить и сделать так, например вы организовываете фтп сервер и храните там важную инф. и для этих целей выделяете отдельный харддиск. Не монтируите его как /VAR Сделайте так /var/ftp/pub/xxx
где ххх имя директории которое вы зададите. Что это дает, - что если вам придется переустанавливать сервер то вы просто точно также подмонтируйте его и не придется заморачиваться с сохранением инфы и форматированием . )


Здесь Хочеться услышать совет гуру о тонкостях и хитростях (Жду Дополнений)



Сетевые Установки

Как я уже сказал что у нас три сетевых адаптера и были выбранны следующие настройки

1.
3 сетевых адаптера
а. eth0 получает IP от DHCP (Provaider)
в. eth1 назначен адрес 192.168.20.1
с. eth2 назначен адрес 192.168.30.1

2
Имя Компьютера
а. имя назначаетDHCP или вручн. ( Здесь я не очень понял, задавая имя SOHO или soho.ferose.net
что я задаю ?
1 имя и имя домеина? (или имя в существующем домеине ) имеет ли значение регистр?

( Жду дополнений)
1 Дополнение от Dr_Spectre
(вручную - задается имя компьютера soho в домене ferose.net (если просто soho то в домене localdomain)

Я выбрал soho.ferose.net
И так я выбрал soho.ferose.net где soho – имя нашего сервера ferose.net – имя нашего будующего домейна.

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

( Если у кого то возникли дополнительные вопросы которые я не осветил просьба обязательно пишите вместе попробуем разобраться )


Автор: Dr_Spectre
Дата сообщения: 27.11.2004 21:29

Цитата:

Цитата: Имя Компьютера
а. имя назначаетDHCP или вручн. ( Здесь я не очень понял, задавая имя SOHO или soho.ferose.net
что я задаю ?


вручную - задается имя компьютера soho в домене ferose.net (если просто soho то в домене localdomain)

и использовать linux как принтсервер для небольшой сети он вообще не нужен да и не очень удобен на самом деле (страдает поддержка всяких вин принтеров)

и еще ИМХО надо расписать минимальную конфигурацию серверов (dhcp ftp и т.п.) где лежат конфиги - примеры конфигов и т.п. (или ссылки на инфу как настраивать (например dns это вам не просто так)
Не знаю как в федоре а вообще семпл-конфиг для dhcp например в /etc не лежит а лежит в usr/share/doc/dhcp.
Так что предлагаю добавить отдельные пункты
настрока dhcp
настройка днс
настройка ftp и т.п. исходя из заданных параметров
Автор: Borgia
Дата сообщения: 28.11.2004 08:13
Dr_Spectre



именно так и собираюсь
Цитата:
Так что предлагаю добавить отдельные пункты
настрока dhcp
настройка днс
настройка ftp и т.п. исходя из заданных параметров

проити весь путь
Автор: webdeveloper
Дата сообщения: 28.11.2004 09:56
Borgia
Доброе дело делаешь, моя благодарность.
Автор: Borgia
Дата сообщения: 28.11.2004 22:43
Организация Небольшой сети на linux Fedore Core3

Часть Вторая конфигурирование Сервера DHCPD


Итак конфигурируем DHCPD . впринципе если идет речь о 3-5 компьютерах, наверное установка DHCPD не совсем целесообразна, с другой стороны если можно что то автоматизировать то почему бы и нет , а уж если их больше 10 то имхо обязательно ( Я уж точно поставлю даже для 3 - ленивый )
Итак в первои части мы при установке сервера определили что мы устанавливаем DHCPD . Обычно все конфигурационные фаилы лежат в /etc то я туда и отправился искать хм и не нашел. И по совету Dr_Spectre направился usr/share/doc/dhcp-3.0.1
$ls -la
total 128
drwxr-xr-x 2 root root 4096 Nov 13 04:01 .
drwxr-xr-x 398 root root 20480 Nov 14 10:05 ..
-rw-r--r-- 1 root root 852 Oct 6 22:01 dhcpd.conf.sample
-rw-r--r-- 1 root root 29395 Jul 14 18:26 README
-rw-r--r-- 1 root root 46236 Jul 14 18:26 RELNOTES
Здесь нашелся фаил примера dhcpd.conf.sample вот его содержимое
***********************************************************
ddns-update-style interim;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 { [ описание нашей подсети]

# --- default gateway [ описание нашего gateway или раутера ]
option routers 192.168.0.1;
option subnet-mask 255.255.255.0; [ Маска подсети ]

option nis-domain "domain.org"; [ описание доменна NIS ]
option domain-name "domain.org"; [ описание доменна в нашем случае ,,ferose.net,, ]
option domain-name-servers 192.168.1.1; [ здесь можно через запятую перечислить DNS свой и провайдера]

option time-offset -18000; # Eastern Standard Time [ здесь помоему по какому времени это все работает ]
# option ntp-servers 192.168.1.1; [ задается сервер времени если вы вдруг установили NTP server]
# option netbios-name-servers 192.168.1.1; [ Здесь задается WINS сервер, который мы в дальнейшем установим на SAMBA server ]
# --- Selects point-to-point node (default is hybrid). Don't change this unless [Здесь не понял , кто знает пишите]
# -- you understand Netbios very well
# option netbios-node-type 2; [Здесь не понял , кто знает пишите]

range dynamic-bootp 192.168.0.128 192.168.0.254; [range IP адресов который будет раздовать наш DHCPD ]
default-lease-time 21600; [ время на которое выделяется IP адрес]
max-lease-time 43200; [ max время на которое выделяется IP адрес]

# we want the nameserver to appear at a fixed address [ если нужно выделить кому то IP адрес постоянный , бывает и такое]
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
*********************************************************************************

Ну вот более или менее разобрались и теперь начинаем подгонять конфиг фаил под наши нужды .
Не забываем что у нас 2 подсети 192.168.20.0 и 192.168.30.0 поэтому конфиг будет подлинее.
Кстати совет делать это в редакторе VIM я не знаток VIM но для этого нужно знать всего пару комманд а также не забываем про MC - аналог нортон ком. и F4


************************************************************************************
ddns-update-style interim;
ignore client-updates;

subnet 192.168.20.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.20.1;
option subnet-mask 255.255.255.0;

option nis-domain "feroze.net";
option domain-name "feroze.net";
option domain-name-servers 192.168.20.1,192.168.1.1;

option time-offset -18000; # Eastern Standard Time
option ntp-servers 192.168.1.1;
option netbios-name-servers 192.168.20.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;

range dynamic-bootp 192.168.20.128 192.168.20.254;
default-lease-time 21600;
max-lease-time 43200;

# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
hardware ethernet 12:34:56:78:AB:CD;
fixed-address 207.175.42.254;
}
}
subnet 192.168.30.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.30.1;
option subnet-mask 255.255.255.0;

option nis-domain "feroze.net";
option domain-name "feroze.net";
option domain-name-servers 192.168.30.1,192.168.1.1;

option time-offset -18000; # Eastern Standard Time
option ntp-servers 192.168.1.1;
option netbios-name-servers 192.168.20.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;

range dynamic-bootp 192.168.30.128 192.168.30.254;
default-lease-time 21600;
max-lease-time 43200;
}
**************************************************************************
Естественно мы его копируем в каталог /etc и с именем dhcpd.conf

1 Вот здесь у меня вопрос
option domain-name-servers 192.168.20.1,192.168.1.1 -- первым я разместил адресс нашего будущего кеширующего DNS и второго на своем gateway там тоже DNS кеширующий наверное былобы вернее вторым разместить DNS провайдера ? [ Жду ваших отзывов]
2 Как легче всего и професиональней проверить правильность нашей настройки

[ Здесь жду ваши варианты ]
C чем столкнулся я - у меня были ошибки в конфиге и при старте DHCPD он не стартовал причем по своей глупости я делал это из Fluxbox в графике визард SERVICES . Если бы делал из консоли он бы обязательно подсказал мне в какой строчке конфига я ощибся . Делается это так
$service dhcpd start
Starting dhcpd: [ OK ]
Вообщем я по виндовской привычке решил перестартовать весь сервер и уже когда он поднимался он ругнулся при поднятии dhcpd и что то мне написал и кудато послал чег то учить . Потом я залез в boot.log он находится в
/var/log/boot.log и прочитал на какие конкретно места в конфиге он ругается

Nov 14 13:16:34 soho dhcpd: /etc/dhcpd.conf line 59: host ns: already exists
Nov 14 13:16:34 soho dhcpd:
Nov 14 13:16:34 soho dhcpd: }
Nov 14 13:16:34 soho dhcpd: ^
Nov 14 13:16:34 soho dhcpd: Configuration file errors encountered -- exiting

Исправив ошибки я уже стартанул как положено и пошел включать клиентский комп что бы проверить как это работает . Здесь хочу отметить что играясь с конфигом и перестартовывая DHCPD
$service dhcpd restart
Shutting down dhcpd: [ OK ]
Starting dhcpd: [ OK ]
Я столкнулся с тем что вообщем то на клиентском компе мне тоже надо его как то заставить сбрасывать IP и снова запрашивать . на помощь пришли гуру на форуме Dr_Spectre, Demetrio

<< есть ли аналоги ipconfig /release /renew >>
а как мне заставить определенную сетевую карточку сбросить IP и запросить снова у dhcp или перестартовать весь networking service
1 /sbin/service network restart
2 ifconfig ethX down
ifconfig ethX up
ethX вместо X поставить номер интерфейса

Возник еще один вопрос , а есть возможность при рестартах или тестировании какого либо сервиса видеть в реалтиме логи на другой консоле .
[ Жду ваших отзывов]
Заидя в поисках информации на интересный сайт http://www.siliconvalleyccie.com/#Linux
наткнулся на на интересную информацию там в конфиг файле добавлены след, опции

# Set the broadcast address and subnet mask
# to be used by the DHCP clients

option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
[ Здесь жду ваши варианты ] Вполне может быть что если в dhcpd.conf.sample этого не было, то добавлять не обязательно.

И так подключаю клиентские компьютеры с обоих подсетей - подсеть 192.168.20.0 получен адрес 192.168.20.254 , подсеть 192.168.30.0 получен адрес 192.168.30.254 что вообщем то и треблвалось .
На этом по DHCPD пока все , если есть что добавить пишите.
Да кстати забыл добавить мы же должны добавить сервис DHCPD в ,, автозагрузку ,, Делается очень просто . В Консоле из под рута напишите команду ,, ntsysv,, Попадете в визард автозагрузки сервисов и там напротив DHCPD поставте звездочку - клавиша пробел . ( Кстати если кто то хочет добавить как это делается редактирование в ручную буду очень рад)


Автор: Borgia
Дата сообщения: 29.11.2004 21:17
webdeveloper
спасибо за поддержку .
Автор: smittyboy
Дата сообщения: 01.12.2004 14:06

Цитата:
Организация Небольшой сети на linux Fedore Core3

Гуд! Зэр гуд! Надеюсь, что мне поможет, когда буду его ставить
Автор: Borgia
Дата сообщения: 01.12.2004 21:52
Организация Небольшой сети на linux Fedore Core3
Часть третья конфигурирование Сервера DNS (BIND)

Введение

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

Итак для нормального функционирования нашей сети мы должны сконфигурировать DNS server .
так как сеть у нас небольшая и выделенных внешних IP адресов у нас скорее всего не будет , то и сервер DNS у нас будет кешируюший . Кэширующий сервер. Не хранит никаких таблиц зон, а просто собирает с объявленных root-серверов кэш резолвенных адресов. То есть все наши запросы он будет передавать на вышестоящие DNS сервера и сохранять это в кеше.
Вот что сказано по поводу DNS сервера в Fedora Core . Установленный по умолчанию DNS сервер в Fedora Core уже заранее сконфигурирован как Кеширующий сервер. Что мы можем сделать так это посмотреть конфиг фаил сервера named.conf, он находится в /var/named/chroot/etc/
$cd /var/named/chroot/etc/
$ls
localtime named.conf named.conf.rpmsave rndc.key
Вот его содержимое
*******************************************************************************
//
// named.conf for Red Hat caching-nameserver
//
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
include "/etc/rndc.key";
*************************************************************************

Нам надо сделать так чтобы все компьютеры в сети обращались к нему как к главному серверу . Что вообщем то мы и сделали с помощью DHCPD .
И одна вещь меня озадачила .
Здесь - я не увидел опции forwarders - это где задаются адреса вышестоящих серверов - куда перенаправлять запросы клиентов.
( Может кто то из гуру может ответить на это)
Отвечает Dr_Spectre
(форвард нужен для кеширующего сервера для запросов ответы на которые не знает сервер.
а здесь происходит разрешение имен по обычной схеме - запрос к корневому серверу иначе зачем зона нужна

Цитата:
zone "." IN {
type hint;
file "named.ca";


но можно и forwarders прописать особенно если трафик к прову бесплатный пусть его сервер занимается
И так вот следующие команды для работы с DNS services
service named start
service named stop
service named restart
Так как нам сказали что сервис уже сконфигурирован как Кэширующий сервер то нам остается его попробовать запустить и протестировать. ( я оставил конфиг фаил без изменений ) .
service named start Сервис поднялся без проблем мы можем сразу поместить его в авто старт с помощью команды ntsysv ( как и в примере про DHCPD ) и начинаем делать стандартную проверку с помощью команды ,,host,, кстати команда ,, nslookup,, из Windows тоже работает
$ host www.linux.org.ru
www.linux.org.ru has address 217.76.32.61

$nslookup www.linux.org.ru
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: www.linux.org.ru
Address: 217.76.32.61

Теперь попробуем сделать запрос по IP адресу на получение имени Reverse Lookup
$host 217.76.32.61
61.32.76.217.in-addr.arpa domain name pointer linux.org.ru.
(Обратите внимание что не все хосты в интернете поддерживают Reverse Lookup.
Теперь попробуем тоже самое проделать с клиентских компьютеров test и test2
comp test (192.168.20.253)
[root@test ~]# host www.linux.org.ru
www.linux.org.ru has address 217.76.32.61
[root@test ~]# host 217.76.32.61
61.32.76.217.in-addr.arpa domain name pointer linux.org.ru.
comp test2 (192.168.30.253)
[root@test2 ~]# host www.linux.org.ru
www.linux.org.ru has address 217.76.32.61
[root@test2 ~]# host 217.76.32.61
61.32.76.217.in-addr.arpa domain name pointer linux.org.ru.
И так я считаю задача выполнена , можно конечно было бы сделать более глубокую проверку и раскрыть материал более глубже но в данной статье это не так не обходимо и всех кто интересуется я даю несколько сылок http://info.nic.ru/st/8/out_267.shtml , http://www.siliconvalleyccie.com/linux-hn/dns-static.htm
(вполне возможно что где то у меня присутствуют ошибки и было бы неплохо если кто нибудь написал об этом или прислал свое мнение по этому материалу)
Кстати если у кого то желание написать про организацию Routing между двумя нашими подсетями ( напоминаю что у нас есть две подсети 192.168.20.0 192.168.30.0 ) Пока наши подсети друг друга не видят , но вполне возможно что это понадобится навсякий случай даю таблицу
$netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
255.255.255.255 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
( я пока еще с этим не разобрался так что буду рад вашей помощи)
Автор: psj
Дата сообщения: 07.12.2004 13:55
Borgia
В такой сети, где нет Win, я бы не ставил Samb-у. По моему для *nix-ов NFS ближе?
Автор: Borgia
Дата сообщения: 07.12.2004 17:37
psj

возможно ты прав но вообщем то я не хочу ограничиваться только клиентами на линуксе . я демократичен наверняка будут и станций с вин и как правило наверное их и будет большнство. поэтому с NFS наша сеть будет ограничена.
Автор: psj
Дата сообщения: 08.12.2004 08:06
Borgia
Значит некорректна постановка задачи
А вообще-то я Вам апплодирую! У самого просто времени на подобный проект не хватает. Хотя, если будет такая задача, т.е. если кто-то решится подобное оплатить, хочу попробовать сделать такую сетку, но только на FreeBSD. Просто она мне как-то ближе.
Автор: Dr_Spectre
Дата сообщения: 08.12.2004 21:18

Цитата:
И одна вещь меня озадачила .
Здесь - я не увидел опции forwarders - это где задаются адреса вышестоящих серверов - куда перенаправлять запросы клиентов.
( Может кто то из гуру может ответить на это)


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

Цитата:
zone "." IN {
type hint;
file "named.ca";


но можно и forwarders прописать особенно если трафик к прову бесплатный пусть его сервер занимается . У нашего прова он умный однако весь трафик в его автономной системе бесплатный кроме запросов к ДНС и мыл серверу.
Автор: Borgia
Дата сообщения: 09.12.2004 08:36
Dr_Spectre

Большое спасибо за помощь. обязательно это добавлю. я здесь столкнулся с проблемкой http://forum.ru-board.com/topic.cgi?forum=8&topic=6382&start=0#9 может можете что то посоветовать.
Автор: Borgia
Дата сообщения: 10.12.2004 21:22
Организация Небольшой сети на linux Fedore Core3
Часть четвертая организация роутинга между подсетями


вот столкнулся с такой проблемой роутинга и ни как не могу продвинуться
И так есть три подсети
eth0 192.168.1.0 DHCP
eth1 192.168.20.0 Static 192.168.20.1
eth2 192.168.30.0 Static 192.168.30.1
Есть пинг с eth0 на eth1, eth2
Нет пинга с eth1 на eth0 , eth2
Нет пинга с eth2на eth0 , eth1
$netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

вобщем в моей таблице меня смущает то что на подсети
192.168.20.0 192.168.1.0 192.168.30.0 шлюзом является 0.0.0.0
Отвечает ooptimum

0.0.0.0 - в поле Gateway,
Это нормально. Так в линуксе обозначается "этот компьютер" в поле Gateway, т.е.
он сам для себя маршрутизатор в эти подсети.

Вопрос
кто нибудь может обьяснить вот эту строку в таблице откуда она там взялась.


Цитата:
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
Отвечает Dr_Spectre
это zero интерфейс
Целью ZEROCONF является разработка механизмов, позволяющих при работе в IP-сетях обеспечить решение четырех задач: автоматическую раздачу IP-адресов без участия DHCP-сервера, столь же автоматическое отображение имен в IP-адреса и обратно без участия DNS-сервера, поиск сервисов (например, принтеров) без участия служб каталогов и распределение адресов IP Multicast без участия MADCAP-сервера.

Удаляется прописыванием NOZEROCONF=yes
в etc/sysconfig/network

1. смущает то что не присутствует в таблице loopback - lo и на попытку его добавить получаю
$route add 127.0.0.1
SIOCADDRT: No such device
с другой стороны интерфейс присутствует на команду ifconfig я его вижу и при рестарте network
$service network restart
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down interface eth2: [ OK ]
Shutting down loopback interface: [ OK ]
Setting network parameters: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: [ OK ]
Bringing up interface eth2: [ OK ]
Отвечает ooptimum
,,$route add 127.0.0.1,,

Это что за команда такая? вот так правильно
route add -net 127.0.0.0 netmask 255.0.0.0 lo
Вручную прописывать маршруты в сети, адреса из которых присвоены интерфейсам сервера, включая сеть 127.0.0.0/8, нет необходимости -- эти маршруты "прописываются" автоматически.
Для того что бы одна подсеть видела другую в нашем случае

Цитата:
что бы подсеть 192.168.20.0(eth1) видела подсеть 192.168.30.0(eth2) и обратно

нужно включить маршрутизацию (форвардинг) echo 1 >/proc/sys/net/ipv4/ip_forward
или (это уже отсебятина взятая отсюда http://www.siliconvalleyccie.com/linux-hn/network-linux.htm#_Toc88491873 )
в фаиле /etc/sysctl.conf нужно поменять параметры
# Disables packet forwarding
net.ipv4.ip_forward=0
На
# Enables packet forwarding
net.ipv4.ip_forward=1
Для того чтобы измненения ступили в силу немедленно можно дать команду sysctl -p
$sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1

Добавление которое мне позволило увидеть ошибку в dhcpd.conf конфиге DHCPD (уже поправил)
Dr_Spectre
у компьютера в сети с которого пингуешь должен стоят шлюзом по умолчанию адрес сетевухи на сервере которая смотрит в эту сеть

Andy_user
На любом компе в сети 192.168.20.0/24 (кроме маршрутизатора с 3-мя сетевыми) default gateway = 192.168.20.х (адрес соответствующей сетевухи маршрутизатора);
На любом компе в сети 192.168.30.0/24 (кроме маршрутизатора с 3-мя сетевыми) default gateway = 192.168.30.х (адрес соответствующей сетевухи маршрутизатора).
---
Или прописать маршруты в эти сети.

Ура!!! все заработало это была моя грубая ошибка в dhcpd.conf (всем спасибо за подсказку)
Сети видят друг друга и пинг проходит .
Единственное пинг не идет из компьютера любой из подсетей наружу
[root@test ~]# ping www.linux.org.ru
PING www.linux.org.ru (217.76.32.61) 56(84) bytes of data.

--- www.linux.org.ru ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 4999ms
Но С самого сервера все ок.

Добавление от Wooden Goblin
Как верно подметил Dr_Spectre, у тебя не настроен NAT, в твоём конкретном случае надо использовать MASQUERADE.
Например:
iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -o eth0 -j MASQUERADE
- таким способом ты выпустишь наружу всех с подсети 192.168.20.0
и уже от себятина
то же самое если мы хотим выпустить наружу подсеть 192.168.30.0
iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -o eth0 -j MASQUERADE
и если все работает сохранить настройки iPTABLES
$ service iptables save
Автор: Dr_Spectre
Дата сообщения: 12.12.2004 21:26

Цитата:
динственное пинг не идет из компьютера любой из подсетей наружу
[root@test ~]# ping www.linux.org.ru
PING www.linux.org.ru (217.76.32.61) 56(84) bytes of data.

--- www.linux.org.ru ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 4999ms
Но С самого сервера все ок.


у сервера есть карта с реальным ip?
может нат не настроен?
Автор: Borgia
Дата сообщения: 13.12.2004 21:27
Dr_Spectre
Извиняюсь за задержку сответом попробую нарисовать сеть


_ _ _DHCP internet
|
____|______ (serv 01 мой гатевей в интернет )
| | ( DHCP DNC cash PROXY )
| serv |
| Gatw |______|192.168.2.1 (192.168.2.0) (DMZ)
| 01 | |
|________|
|
|
__|___ 192.168.1.1 ( LAN) STATIC ( Здесь базируется моя дом сеть) |
|______________
|________| SWITCH
|
|
|
|
__|__ DHCP
_ _ __|____
| | ( DHCP DNC cash)
| serv02 |
| LAB |___________| 192.168.20.1 (STATIC)
| | |
|_________|
|
|
_|__ 192.168.30.1 (STATIC)

вот схематичный расклад моей сети Сервер LAB - зто моя лабораторная сетка которая выходит в интернет через сервер 01
Автор: Dr_Spectre
Дата сообщения: 14.12.2004 11:04
посмотри traceroute www.linux.org.ru на чем начинает срубаться трассировка
Автор: Borgia
Дата сообщения: 14.12.2004 21:31
Dr_Spectre
пришел домой включил сервер - неузнает одну из сетевых карточек полез менять упала видео карточка так что пока на ремонте как закончу обьязательно
Цитата:
посмотри traceroute www.linux.org.ru на чем начинает срубаться трассировка сделаю



Добавлено
между прочим обратил внимание что redhat-fedora очень не любит несколько карточек одного вида, он видно не может им назначить разные прерывания ,(в сусе между прочим такго не нблюдал) и еще одно странное поведение если я через графический конфигуратор убрал какуюто карточку ( сетевую) и сделал сейв , то при перезагрузке всеравно выскочит кудзу и спросит хочу ли я убрать старую карточку и поставить новую. Такое впечатление что в графике само по себе и в консоле тоже само по себе
Автор: Borgia
Дата сообщения: 15.12.2004 21:53
Dr_Spectre

вот результат
t@test ~]# traceroute www.linux.org.ru
traceroute to www.linux.org.ru (217.76.32.61), 30 hops max, 38 byte packets
1 192.168.20.1 (192.168.20.1) 0.716 ms 0.548 ms 0.557 ms
2 * * *
3 * * *

вот пинг на гатвеи этой подсети
ping 192.168.20.1
PING 192.168.20.1 (192.168.20.1) 56(84) bytes of data.
64 bytes from 192.168.20.1: icmp_seq=0 ttl=64 time=0.626 ms
64 bytes from 192.168.20.1: icmp_seq=1 ttl=64 time=0.612 ms (oK)
а вот на карточку которая смотрит на ружу
]# ping 192.168.1.240
PING 192.168.1.240 (192.168.1.240) 56(84) bytes of data.
64 bytes from 192.168.1.240: icmp_seq=0 ttl=64 time=0.688 ms (OK)

а вот если даю пинг на сервер который (server 01) выходит в интернет
]# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

--- 192.168.1.1 ping statistics ---
39 packets transmitted, 0 received, 100% packet loss, time 37994ms

тоесть получается что пинг не проходит двумя серверами


Добавлено
Организация Небольшой сети на linux Fedore Core3
Часть четвертая конфигурирование Сервера PROXY (squid)

И так с роутингом мы более менее разобрались , Приступаем к прокси в данном случае squid. Ну во первых напоминаю что squid у нас уже установлен ( при выборе программ при установке он находится в разделе WEB Server) .Значит нам его нужно отконфигурировать и запустить. Конфигурационный фаил squid.conf лежит в директории /etc/squid
Открываем его в редакторе VI и тихо сползаем со стула со словами .. мама дорогая ,, потому как он просто огромный . Честно говоря я долго думал как мне его уменьшить и сильно старался - не хотелось при этом потерять информативность тех значений которые я выбрал . Описывать те значения которые я выбрал тоже нет смысла так как там очень четко все описано и я решил сделать так . Я здесь запощу свой конфиг фаил чтоб можно было его критиковать или брать за пример , а также дам сылки на саиты где уже все давно описано и куда я сам обращался
Краткое введение: Squid
http://www.softportal.com/articles/item.php?id=91&lang=ru

Настраиваем squid
http://linux.yaroslavl.ru/docs/serv/squid/squid_tune.html

Как поставить/настроить squid?
http://www.linuxrsp.ru/docs/squid.html

Базовая настройка SQUID
http://www.getinfo.ru/article417.html

Squid FAQ
http://faqs.org.ru/softw/inetsoft/squid.htm

Squid (кеширующий прокси для http): установка, настройка и использование
http://www.bog.pp.ru/work/squid.html

http://linux.irk.ru/18.01.1999.phtml

Зона особого внимания: Squid
http://squid.opennet.ru/
http://www.siliconvalleyccie.com/linux-adv/squid.htm


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

1. #DNS
TAG: dns_nameservers - это где мы прописываем наши dns сервера
2. # TAG: cache_peer- это наши соседние прокси
3. # ACCESS CONTROLS - это где мы даем разрешения кому что ( я не стал сильно углублятся так как здесь можно извращатся очень много и долго а наша задача была дать двум нашим подсетям выход в интернет.
4. #TRANSPARENT ROXY - Хм вначале я решил ограничится просто прокси так как мне казалось что TRANSPARENT ROXY это достаточно сложно и я думал это отложить на потом. Но столкнулся с тем что работать через просто прокси достаточно муторно - по мимо браузера нужно прописывать прокси в любой проге которая выходит в интернет и не всегда это можно сделать в самой программе часто нужно заходить в конфиг фаил и там менять настройки - например WGET . Меня это огорчило настолько что я все таки решил разобраться с TRANSPARENT ROXY и как оказалось все не так страшно .
И так основные команды для запуска и остановки сервиса Squid

service squid start
service squid stop
service squid restart
А теперь сам конфиг
********************************************************************
#WELCOME TO SQUID 2
#------------------

# NETWORK OPTIONS
# -----------------------------------------------------------------------------

# TAG: http_port
#Default:
http_port 3128


# TAG: ssl_unclean_shutdown
#Some browsers (especially MSIE) bugs out on SSL shutdown
#messages.
#
#Default:
ssl_unclean_shutdown off

# TAG: icp_port
#The port number where Squid sends and receives ICP queries to
#and from neighbor caches. Default is 3130. To disable use
#"0". May be overridden with -u on the command line.
#
#Default:
icp_port 3130

# TAG: htcp_port
# htcp_port 4827

# TAG: udp_incoming_address
# TAG: udp_outgoing_address
#udp_incoming_addressis used for the ICP socket receiving packets
#from other caches.
#udp_outgoing_addressis used for ICP packets sent out to other
#caches.

udp_incoming_address 0.0.0.0
udp_outgoing_address 255.255.255.255


# TAG: cache_peer

cache_peer proxy1.bezeqint.net parent 8080 3130 [proxy-only]
cache_peer daf.borgia.local sibling 3128 3130 [proxy-only]

# TAG: no_cache
#A list of ACL elements which, if matched, cause the request to
#not be satisfied from the cache and the reply to not be cached.
#In other words, use this to force certain objects to never be cached.
#
#You must use the word 'DENY' to indicate the ACL names which should
#NOT be cached.
#
#We recommend you to use the following two lines.
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

#TRANSPARENT ROXY
#********************************************************

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on




# OPTIONS WHICH AFFECT THE CACHE SIZE
# -----------------------------------------------------------------------------

# TAG: cache_mem(bytes)

#Default:
cache_mem 8 MB

# TAG: cache_swap_low(percent, 0-100)
# TAG: cache_swap_high(percent, 0-100)

#Default:
cache_swap_low 90
cache_swap_high 95

# TAG: maximum_object_size(bytes)
#Default:
maximum_object_size 4096 KB

# TAG: minimum_object_size(bytes)
#Default:
minimum_object_size 0 KB

# TAG: maximum_object_size_in_memory(bytes)
#Default:
maximum_object_size_in_memory 8 KB

# TAG: ipcache_size(number of entries)
# TAG: ipcache_low(percent)
# TAG: ipcache_high(percent)
#The size, low-, and high-water marks for the IP cache.
#
#Default:
ipcache_size 1024
ipcache_low 90
ipcache_high 95

# TAG: fqdncache_size(number of entries)
#Maximum number of FQDN cache entries.
#
#Default:
fqdncache_size 1024

# TAG: cache_replacement_policy
#The cache replacement policy parameter determines which
#objects are evicted (replaced) when disk space is needed.
#
# lru : Squid's original list based LRU policy
# heap GDSF : Greedy-Dual Size Frequency
# heap LFUDA: Least Frequently Used with Dynamic Aging
# heap LRU : LRU policy implemented using a heap
#
#Default:
cache_replacement_policy lru

# TAG: memory_replacement_policy
#The memory replacement policy parameter determines which
#objects are purged from memory when memory space is needed.
#
#Default:
memory_replacement_policy lru

# LOGFILE PATHNAMES AND CACHE DIRECTORIES
# -----------------------------------------------------------------------------

# TAG: cache_dir
#Default:
cache_dir ufs /var/spool/squid 100 16 256

#LOGS
#********************************************************
# TAG: cache_access_log
#Logs the client request activity. Contains an entry for
#every HTTP and ICP queries received. To disable, enter "none".
#
#Default:
cache_access_log /var/log/squid/access.log

# TAG: cache_log
#Cache logging file. This is where general information about
#your cache's behavior goes. You can increase the amount of data
#logged to this file with the "debug_options" tag below.
#
#Default:
cache_log /var/log/squid/cache.log

# TAG: emulate_httpd_logon|off
#The Cache can emulate the log file format which many 'httpd'
#programs use. To disable/enable this emulation, set
#emulate_httpd_log to 'off' or 'on'. The default
#is to use the native log format since it includes useful
#information Squid-specific log analyzers use.
#
#Default:
emulate_httpd_log off

# TAG: log_ip_on_directon|off
#Log the destination IP address in the hierarchy log tag when going
#direct. Earlier Squid versions logged the hostname here. If you
#prefer the old way set this to off.
#
#Default:
log_ip_on_direct on

# TAG: mime_table
#Pathname to Squid's MIME table. You shouldn't need to change
#this, but the default file contains examples and formatting
#information if you do.
#
#Default:
mime_table /etc/squid/mime.conf

# TAG: log_mime_hdrson|off
#The Cache can record both the request and the response MIME
#headers for each HTTP transaction. The headers are encoded
#safely and will appear as two bracketed fields at the end of
#the access log (for either the native or httpd-emulated log
#formats). To enable this logging set log_mime_hdrs to 'on'.
#
#Default:
log_mime_hdrs off

# TAG: pid_filename
#A filename to write the process-id to. To disable, enter "none".
#
#Default:
pid_filename /var/run/squid.pid

# TAG: debug_options
#Default:
debug_options ALL,1

# TAG: log_fqdnon|off
#Turn this on if you wish to log fully qualified domain names
#in the access.log. To do this Squid does a DNS lookup of all
#IP's connecting to it. This can (in some situations) increase
#latency, which makes your cache seem slower for interactive
#browsing.
#
#Default:
log_fqdn off

# TAG: client_netmask
#A netmask for client addresses in logfiles and cachemgr output.
#Change this to protect the privacy of your cache clients.
#A netmask of 255.255.255.0 will log all IP's in that range with
#the last digit set to '0'.
#
#Default:
client_netmask 255.255.255.255


# OPTIONS FOR EXTERNAL SUPPORT PROGRAMS
# -----------------------------------------------------------------------------

# TAG: ftp_user
#Default:
ftp_user anonymous@

# TAG: ftp_list_width
#Sets the width of ftp listings. This should be set to fit in
#the width of a standard browser. Setting this too small
#can cut off long filenames when browsing ftp sites.
#
#Default:
ftp_list_width 32

# TAG: ftp_passive
#If your firewall does not allow Squid to use passive
#connections, turn off this option.
#
#Default:
ftp_passive on

# TAG: ftp_sanitycheck
#For security and data integrity reasons Squid by default performs
#sanity checks of the addresses of FTP data connections ensure the
#data connection is to the requested server. If you need to allow
#FTP connections to servers using another IP address for the data
#connection turn this off.
#
#Default:
ftp_sanitycheck on

# TAG: ftp_telnet_protocol
#Default:
ftp_telnet_protocol on

#DNS
#*****************************************************
# TAG: dns_retransmit_interval
#Initial retransmit interval for DNS queries. The interval is
#doubled each time all configured DNS servers have been tried.
#
#
#Default:
dns_retransmit_interval 5 seconds

# TAG: dns_timeout
#DNS Query timeout. If no response is received to a DNS query
#within this time all DNS servers for the queried domain
#are assumed to be unavailable.
#
#Default:
dns_timeout 2 minutes

# TAG: dns_nameservers
#Use this if you want to specify a list of DNS name servers
#(IP addresses) to use instead of those given in your
#/etc/resolv.conf file.
#On Windows platforms, if no value is specified here or in
#the /etc/resolv.conf file, the list of DNS name servers are
#taken from the Windows registry, both static and dynamic DHCP
#configurations are supported.
#
#Example: dns_nameservers 10.0.0.1 192.172.0.4
#
#Default:
dns_nameservers 192.168.20.1 192.168.30.1 192.168.1.1 192.115.106.31 192.115.106.35


# TAG: hosts_file
#Default:
hosts_file /etc/hosts

# TAG: diskd_program
#Specify the location of the diskd executable.
#Note that this is only useful if you have compiled in
#diskd as one of the store io modules.
#
#Default:
diskd_program /usr/lib/squid/diskd

# TAG: unlinkd_program
#Specify the location of the executable for file deletion process.
#
#Default:
unlinkd_program /usr/lib/squid/unlinkd

#************************************************
# TAG: auth_param
#This is used to define parameters for the various authentication
#schemes supported by Squid.
#Recommended minimum configuration:
#auth_param digest program <uncomment and complete this line>
#auth_param digest children 5
#auth_param digest realm Squid proxy-caching web server
#auth_param digest nonce_garbage_interval 5 minutes
#auth_param digest nonce_max_duration 30 minutes
#auth_param digest nonce_max_count 50
#auth_param ntlm program <uncomment and complete this line to activate>
#auth_param ntlm children 5
#auth_param ntlm max_challenge_reuses 0
#auth_param ntlm max_challenge_lifetime 2 minutes
#auth_param ntlm use_ntlm_negotiate off
#auth_param basic program <uncomment and complete this line>
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

# TAG: authenticate_cache_garbage_interval
#The time period between garbage collection across the username cache.
#This is a tradeoff between memory utilisation (long intervals - say
#2 days) and CPU (short intervals - say 1 minute). Only change if you
#have good reason to.
#
#Default:
authenticate_cache_garbage_interval 1 hour

# TAG: authenticate_ttl
#The time a user & their credentials stay in the logged in user cache
#since their last request. When the garbage interval passes, all user
#credentials that have passed their TTL are removed from memory.
#
#Default:
authenticate_ttl 1 hour

# TAG: authenticate_ip_ttl
#If you use proxy authentication and the 'max_user_ip' ACL, this
#directive controls how long Squid remembers the IP addresses
#associated with each user. Use a small value (e.g., 60 seconds) if
#your users might change addresses quickly, as is the case with
#dialups. You might be safe using a larger value (e.g., 2 hours) in a
#corporate LAN environment with relatively static address assignments.
#
#Default:
authenticate_ip_ttl 0 seconds

# OPTIONS FOR TUNING THE CACHE
# -----------------------------------------------------------------------------

# TAG: wais_relay_host
# TAG: wais_relay_port
#Relay WAIS request to host (1st arg) at port (2 arg).
#
#Default:
wais_relay_port 0

# TAG: request_header_max_size(KB)
#This specifies the maximum size for HTTP headers in a request.
#Request headers are usually relatively small (about 512 bytes).
#Placing a limit on the request header size will catch certain
#bugs (for example with persistent connections) and possibly
#buffer-overflow or denial-of-service attacks.
#
#Default:
request_header_max_size 10 KB

# TAG: request_body_max_size(KB)
#This specifies the maximum size for an HTTP request body.
#In other words, the maximum size of a PUT/POST request.
#A user who attempts to send a request with a body larger
#than this limit receives an "Invalid Request" error message.
#If you set this parameter to a zero (the default), there will
#be no limit imposed.
#
#Default:
request_body_max_size 0 KB

# TAG: refresh_pattern
#Suggested default:
refresh_pattern ^ftp:144020%10080
refresh_pattern ^gopher:14400%1440
refresh_pattern .020%4320

# TAG: quick_abort_min(KB)
# TAG: quick_abort_max(KB)
# TAG: quick_abort_pct(percent)
#Default:
quick_abort_min 16 KB
quick_abort_max 16 KB
quick_abort_pct 95

# TAG: negative_ttltime-units
#Time-to-Live (TTL) for failed requests.
#Default:
negative_ttl 5 minutes

# TAG: positive_dns_ttltime-units
#Default:
positive_dns_ttl 6 hours

# TAG: negative_dns_ttltime-units
#Default:
negative_dns_ttl 1 minute

# TIMEOUTS
# -----------------------------------------------------------------------------
# TAG: forward_timeouttime-units
#Default:
#forward_timeout 4 minutes

# TAG: connect_timeouttime-units
#Default:
# connect_timeout 1 minute

# TAG: peer_connect_timeouttime-units
#Default:
# peer_connect_timeout 30 seconds


# TAG: read_timeouttime-units
#Default:
# read_timeout 15 minutes

# TAG: request_timeout
#Default:
# request_timeout 5 minutes


# TAG: persistent_request_timeout
#Default:
# persistent_request_timeout 1 minute

# TAG: client_lifetimetime-units
#Default:
client_lifetime 1 day


# TAG: half_closed_clients
#Default:
half_closed_clients on

# TAG: pconn_timeout
#Default:
# pconn_timeout 120 seconds

# TAG: ident_timeout
#Default:
# ident_timeout 10 seconds

# TAG: shutdown_lifetimetime-units
#Default:
shutdown_lifetime 30 seconds


# ACCESS CONTROLS
# -----------------------------------------------------------------------------

#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80# http
acl Safe_ports port 21# ftp
acl Safe_ports port 443 563# https, snews
acl Safe_ports port 70# gopher
acl Safe_ports port 210# wais
acl Safe_ports port 1025-65535# unregistered ports
acl Safe_ports port 280# http-mgmt
acl Safe_ports port 488# gss-http
acl Safe_ports port 591# filemaker
acl Safe_ports port 777# multiling http
acl CONNECT method CONNECT

# TAG: http_access
#Allowing or Denying access based on defined access lists
#
#Access to the HTTP port:
#http_access allow|deny [!]aclname ...
#
#NOTE on default values:
#
#If there are no "access" lines present, the default is to deny
#the request.
#
#If none of the "access" lines cause a match, the default is the
#opposite of the last line in the list. If the last line was
#deny, the default is allow. Conversely, if the last line
#is allow, the default will be deny. For these reasons, it is a
#good idea to have an "deny all" or "allow all" entry at the end
#of your access lists to avoid potential confusion.
#
#Default:
# http_access deny all
#
#Recommended minimum configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# Deny requests to unknown ports
http_access deny !Safe_ports

# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports

#
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

# Example rule allowing access from your local networks. Adapt
# to list your (internal) IP networks from where browsing should
# be allowed
acl our_networks01 src 192.168.20.0/24
acl our_networks02 src 192.168.30.0/24
http_access allow our_networks01
http_access allow our_networks02

# And finally deny all other access to this proxy
http_access allow localhost
http_access deny all

# TAG: http_reply_access
# Allow replies to client requests. This is complementary to http_access.
#
# http_reply_access allow|deny [!] aclname ...
#
# NOTE: if there are no access lines present, the default is to allow
#all replies
#
# If none of the access lines cause a match the opposite of the
# last line will apply. Thus it is good practice to end the rules
# with an "allow all" or "deny all" entry.
#
#Default:
http_reply_access allow all

#
#Recommended minimum configuration:
#
# Insert your own rules here.
#
#
# and finally allow by default
http_reply_access allow all

# TAG: icp_access
#Allowing or Denying access to the ICP port based on defined
#access lists
#
#icp_access allow|deny [!]aclname ...
#
#See http_access for details
#
#Default:
# icp_access deny all
#
#Allow ICP queries from everyone
icp_access allow all

# TAG: miss_access
#Use to force your neighbors to use you as a sibling instead of
#a parent. For example:
#
#acl localclients src 172.16.0.0/16
#miss_access allow localclients
#miss_access deny !localclients
#
#This means only your local clients are allowed to fetch
#MISSES and all other clients can only fetch HITS.
#
#By default, allow all clients who passed the http_access rules
#to fetch MISSES from us.
#
#Default setting:
# miss_access allow all

# TAG: ident_lookup_access
#Default:
# ident_lookup_access deny all

# TAG: reply_body_max_sizebytes allow|deny acl acl...
#Default:
# reply_body_max_size 0 allow all

*******************************************************************************
На этом настройка TRANSPARENT ROXY еще не закончена продолжение в часте о файрволе


Автор: Dr_Spectre
Дата сообщения: 16.12.2004 09:56
раз уж заговорил про прозрачный прокси то надо указать что трафик с помощью файрвола завернуть на squid иначе прозрачность работать не будет
http://linuxportal.ru/entry.php/P81_0_3_10/

да и вообще Библиотеку тамже раздел сеть почитать можно там про сквид еще несколько статей.
Автор: Dimez
Дата сообщения: 16.12.2004 17:22
1) Это всё конечно хорошо, но статей по сборке файрвола, настройке сквида - море(на том же opennet.ru)

2) Ставить многочисленные сервисы на файрволе - нехорошо, ибо, если поломают, порушат всю работу сети.
Автор: Dr_Spectre
Дата сообщения: 16.12.2004 20:43

Цитата:
1) Это всё конечно хорошо, но статей по сборке файрвола, настройке сквида - море(на том же opennet.ru)


ИМХО автор преследует более глобальную цель которую и высказал в теме топика

Цитата:
Организация небольшой сети на linux Fedore Core3



Цитата:
2) Ставить многочисленные сервисы на файрволе - нехорошо, ибо, если поломают, порушат всю работу сети.


во первых профи-хакеры не смотрят обычно на "маленькие" серверы поэтому максимум какойнибудь китаец просканит 22 порт или ftp брутфорсом
во-вторых как пел буйнов "мои финансы поют романсы" поэтому сервер в конторе обычно один
в-третьих правильно построенная система защиты не зависит от количества сервисов на сервере (для всех на сервере открыты только днс и web остальное только для определенных и поэтому сервисов и не так уж много через которые могут сломать)
Автор: Borgia
Дата сообщения: 17.12.2004 12:49
Организация Небольшой сети на linux Fedore Core3
Часть пятая конфигурирование Файрвола (IPTABLES)





Теперь как сказал Dr_Spectre ,, надо указать что трафик с помощью файрвола завернуть на squid иначе прозрачность работать не будет ,,
Вообщем мы подошли к теме файрвола . Тема имхо очень обширная и серьезная -требует серьезных знаний я врядли смогу осветить ее достаточно глубоко и профессионально . В контесте жэ нашей задачи
,, Организация небольшой сети на linux Fedore Core3 ,, и всвязи с тем что вся эта статья расчитана как раз не на профи (включая и меня). Я решил пока ограничится теми возможностями которые предостовляет визард ,, setup ,, Наберите эту команду в консоле и в окне визарда выберете опцию FIREWALL CONFIGURATION . Дальше отметьте опцию ,,enable,, и выбираите ,,Customize,,
Здесь я выбрал так -
Trusted devices - отметил eth1 eth2 ( то есть я доверяю всему трафику с нашх подсетей)
Allow incoming - отметил SSH , WWW, SMPT(mail) , FTP ( SSH можно не отмечать если вы не будете подключаться по протоколу SSH к своему серверу из вне. например для внесения каких то изменений на сервере из дома. Также можно не отмечать WWW, SMPT(mail) , FTP если вы - не собираетесь давать доступ на ваши WWW, FTP сервера из вне , а почтовый сервер сервер будете организовывать только для локалки)
Other ports - добавил imap:tcp , https:tcp ( вполне возможно что эти параметры не окончательны)

Имхо вполне нормально для безопастности нашей сети . То что воспользовались визардом а не вручную вводили правила для IPTABLES это не говорит что от этого наша сеть стала более дырявее.
Просто визард не предостовляет той гибкости и тех возможностей которые можно сделать вручную.
(Если кто то хочет дополнить как вручную ввести эти правила для нашей сети пишите. Кстати меня очень заинтересовал продукт FIREHOLL , образно говоря эта надстроика над IPTABLES, которая позволяет создавать рули более понятным или можно сказать обьектно ориентированным языком . Может кто знаком или хочет написать об этом для нашей сети - очень буду рад)

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

service iptables start
service iptables stop
service iptables restart

Проверить состояние на данный момент запущен или нет
service iptables status
И так исходим из того что сервис у нас запущен и отконфигурирован как писалось выше. В консоле из под рута вводим правило для подсети 192.168.20.0
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 \-j REDIRECT --to-ports 3128
правило для подсети 192.168.30.0
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 \-j REDIRECT --to-ports 3128
и только рокси серверу разрешаем выход в интернет на 80 порт
iptables -A OUTPUT -j ACCEPT -m state --state NEW -o eth0 \-p tcp --dport 80

Теперь проверяем с клиентов в подсетях как это работает, самое быстрое зайти в интернет через браузер и скачать что нибудь через wget.
И если все работает то самое время сохранить те изменения которые мы ввели в IPTABLES
service iptables save
На этом в теме о файрволе пока все пишите дополняите и как я уже сказал выше если кто опишет создание правил в файрволе через FIREHOLL для нашей сети ( или просто ) буду очень признателен.


Добавлено
Dimez

я понимаю что статей море, но цель статьи деиствительно немного другая , цель которую я преследую это дать возможность новичку в линуксе или просто не опытному пользователю , возможность взять конкретный дистрибутив и построить небольшую сеть с обычными распространнеными сервисами . показать что это не так уж сложно и для этого не надо быть гуру. Проити весь путь построения сети на конкретном дистрибутиве. Отдельных статей по отдельным темам деиствительно много но в этом и есть одна из проблем в линуксе что команда в федоре и команда в сусе может отличаться а также расположение конкретных фаилов или папок , и если для гуру это не проблема то для неискушенного пользователя это да проблема .
Ну и если немножко пофлеймить то
показать что есть альтернатива виндовс , конечно со своими + - . что для организации небольшой сети не обязательно покупать или устанавливать win server- 2003, exchange, ISA или десяток других более дешевых прог (зачастую поставить и настроить которые не менее сложнее чем тоже самое в линуксе а иногда и более муторнее) бесплатность здесь тоже играет роль - имхо если это не очень актуально для росии то есть страны где это актуально (или просто жизненые принципы) Да и не всегда люди имеют предстовление вообще что есть альтернатива. Плюс я считаю что есть вещи для которых линукс подходит имхо лучше чем то же решение на видовс.
Ну и как я уже сказал взять конкретный дистрибутив и по этой статье построить сеть без лишних поисков и заморочек,( а дальше если им это подойдет они уже сами потихоньку смогут углубляться и настраивать )
Жалко конечно что не так много людей читают и интересуются линукс у нас на форуме мне очень конечно хотелось бы, что бы люди люди больше задавали вопросы то с чем они столкнулись или дополняли статью своими мнениями так статья была бы более расширенной и углубленной. В конце я собираюсь все написаное и дополненое здесь полать Lynx и буду просить администрацию поместить это как доку на руборде.
Присоединяитесь Dimez

Ну и конечно огромная благодарность всем тем кто помогает и находит время для поправок и моих вопросов.
с уваж . Borgia
Автор: Borgia
Дата сообщения: 19.12.2004 21:47
Core3
Часть седьмая конфигурирование FTP server (vsftpd)


Ну вот мы наконец добрались до FTP . Вобщем здесь нужно определяться , что нужно для нашей сети
всем сделать анонимный доступ
всем вход через username, password
часть юзеров username, password, часть юзеров анонимный доступ


Вот и задумался над одним вариантом , а как например сделать так
аннонимный доступ открыть только внутри чтоб снаружи нельзя было зайти . Снаружи только через username ,password. Может есть у кого идеи как организовать это в VSFTPD ?


Автор: Dr_Spectre
Дата сообщения: 20.12.2004 09:35

Цитата:
Вот и задумался над одним вариантом , а как например сделать так
аннонимный доступ открыть только внутри чтоб снаружи нельзя было зайти . Снаружи только через username ,password. Может есть у кого идеи как организовать это в VSFTPD ?


повесить два разных сервера с разными конфигами на разные ip
1 директива listen_address в конфигах
2 копируем /etc/rc.d/init.d/vsftpd в /etc/rc.d/init.d/vsftpd_local например
3 правим в файле /etc/rc.d/init.d/vsftpd_local пут к конфигу
4 chkconfig vsftpd_local on
5 service vsftpd_local start

(грубовато конечно сам не пробовал но в теории вроде правильно)
Автор: Borgia
Дата сообщения: 20.12.2004 12:40
Dr_Spectre

хм. интересное решение спасибо. будем пробовать. кстати я ни как не могу вьехать
в чем разница
/etc/rc.d/init.d и
/etc/init.d
и там и там теже скрипты
Автор: Dr_Spectre
Дата сообщения: 20.12.2004 13:56

Цитата:
кстати я ни как не могу вьехать
в чем разница
/etc/rc.d/init.d и
/etc/init.d
и там и там теже скрипты


/etc/init.d это симлинк на /etc/rc.d/init.d
Автор: Borgia
Дата сообщения: 20.12.2004 16:01
Dr_Spectre

спасибо. а смысл делать симлинк. или это просто типа костыля. тогда для чего.
извини заранее за глупый вопрос
Автор: Dr_Spectre
Дата сообщения: 21.12.2004 10:22

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


к сожалению не знаю для какого функционала это сделано никогда не задавался таким вопросом, но подозреваю что для совместимости, возможно версий sysv (может раньше было все в /etc/init.d а сейчас поменялось)
сейчас посмотрел в altlinux почти все скрипты из /etc/rc.d/init.d имеют в содержании путь /etc/init.d
Автор: Borgia
Дата сообщения: 21.12.2004 22:41
Организация Небольшой сети на linux Fedore Core3
Часть седьмая конфигурирование FTP server (vsftpd)


Ну вот мы наконец добрались до FTP . Вобщем здесь нужно определяться , что нужно для нашей сети
всем сделать анонимный доступ
всем вход через username, password
часть юзеров username, password, часть юзеров анонимный доступ


Вот и задумался над одним вариантом , а как например сделать так
аннонимный доступ открыть только внутри чтоб снаружи нельзя было зайти . Снаружи только через username ,password. Может есть у кого идеи как организовать это в VSFTPD ?

Вот совет от Dr_Spectre
повесить два разных сервера с разными конфигами на разные ip
1 директива listen_address в конфигах
2 копируем /etc/rc.d/init.d/vsftpd в /etc/rc.d/init.d/vsftpd_local например
3 правим в файле /etc/rc.d/init.d/vsftpd_local пут к конфигу
4 chkconfig vsftpd_local on
5 service vsftpd_local start

Я решил немножко изменить решение и организовать это через ,,супер сервер ,, XINETD . Вначале немного пояснение.
Для управления доступом к службам Интернет используется демон xinetd, который является безопасной заменой для inetd. Демон xinetd экономит системные ресурсы, обеспечивает управление доступом и протоколирование, а также может использоваться для запуска серверов специального назначения. xinetd можно использовать для предоставления доступа или запрета доступа только определённым узлам, для предоставления доступа к службе в определённое время, для ограничения количества входящих подключений и/или нагрузки, создаваемой подключениями и т.д.

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

Файлом настройки демона xinetd является /etc/xinetd.conf .
И так, прослушиванием - кто с какого сетевого интерфеиса, с какой подсети с какого IP adress подключается (можно также установить разрешение по времени ) мы возложим на демон xinetd. Теперь пока оставим xinetd и передем к самому фтп серверу vsftpd .
vsftpd используется на большинстве серверов под управлением linux. Среди них ftp.redhat.com, ftp.suse.com, ftp.debian.org, ftp.gnu.org, ftp.gnome.org, ftp.kde.org Название vsftpd произошло от "very secure FTP deamon" (чрезвычайно безопасный FTP-демон) . И так фаил конфигурации находится /etc/vsftpd/vsftpd.conf

( команды для работы с сервисом vsftpd )
# service vsftpd start
# service vsftpd stop
# service vsftpd restart
Проверка работает ли сервис фтп
# netstat -a | grep ftp
Он изначально уже так настроен что что запустив фтп сервер он работает и с локальными юзерами и как анонимный. Вот линки на другие сайты где расписан файл настройки сервера на руском языке.
http://www.linuxcenter.ru/lib/articles/soft/vsftpd_setup.phtml
http://linuxshop.ru/linuxbegin/article678.html
http://www.tldp.org/linuxfocus/Russian/July2004/article341.shtml
Нам же нужно создать два фаила настройки, так как юзер который заходит на фтп снаружи должен заити с username, password, а юзер изнутри сети может и как с username, password так и как аннонимный. То есть один фаила настройки для юзеров снаружи , а другой для внутренних. И так копируем
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_pub.conf
vsftpd.conf для внутренних
vsftpd_pub.conf для внешних
дальше в vsftpd.conf и в vsftpd_pub.conf мы должны закоментировать опцию

# listen=YES эта опция для запуска сервера STANDALONE - вручную если сервер будет работать через xinetd то ее нужно закоментировать иначе будем получать ошибку
could not bind listening IPv4 socket
На этом с vsftpd.conf пока все, а в vsftpd_pub.conf нам нужно запретить фход как анонимный пользователь .
вот конфиг.
*******************************************************
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
# anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
ftpd_banner=Welcome to Microsoft FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES

pam_service_name=vsftpd
userlist_enable=YES
#enable for standalone mode
# listen=no
tcp_wrappers=YES
**********************************************************
Хочу обратить ваше внимание на следующую опцию
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
Я оставил ее без изменения но с точки зрения безопасности вам стоит ее разрешить а в фаил vsftpd.chroot_list впишите например своего юзера . ( кстати фаил vsftpd.chroot_list надо создать самому странно что и самой опции chroot_local_user=YES в конфиге нет)
Все с конфигурацией vsftpd закончено , возвращаемся к xinetd. Идем в /etc/xinetd.conf и добавляем следущее вот xinetd.conf
*********************************************************
#
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{
instances = 60
log_type = SYSLOG authpriv
log_on_success= HOST PID
log_on_failure= HOST
cps= 25 30
}

includedir /etc/xinetd.d



service ftp
{
id = ftp-public
socket_type = stream
wait = no
disable = no
user = root
server = /usr/sbin/vsftpd
server_args = /etc/vsftpd/vsftpd_pub.conf
instances = 4 #Defines the maximum number of servers of a same type able to work at the same time
nice = 10
flags = IPv4
only_from = 0.0.0.0/0 #allows every client
interface = 192.168.1.240 #public IP address for this server
}

service ftp
{
id = ftp-internal
socket_type = stream
wait = no
disable = no
user = root
server = /usr/sbin/vsftpd
server_args = /etc/vsftpd/vsftpd.conf
flags = IPv4
only_from = 192.168.20.0/24 #only for internal use
only_from = 192.168.30.0/24 #only for internal use

}
*********************************************************************
Вот линки по файлу настроек xinetd

http://lantan.chat.ru/xinetd.conf.html
http://www.tldp.org/linuxfocus/English/November2000/article175.shtml
Теперь сама работа с xinetd
# service xinetd start
# service xinetd stop
# service xinetd restart
Теперь перезапускаем xinetd и проверяем как это все работает.

У меня все работает отлично. Теперь немного о проблемах . Как вы обратили внимание в настройке первого ,, public ,, ftp есть внизу строка

interface = 192.168.1.240 #public IP address for this server

Этим параметром мы задаем xinetd прослушивать сетевую карточку с конкретным адресом, но IP -то у нас не постоянный - адрес мы получаем от DHCP. И к сожалению xinetd не поддерживает динамик IP. В принципе все не так страшно , всетаки это сервер и притом gateway, и он не перезагружается каждый день и IP у нас не будет менятся часто , здесь главное не забыть что после перезагрузки надо проверить не изменился ли адрес и если что не забыть поменять его в конфиге. Решения проблемы вроде как есть но у меня оно не работает. Вот что я нашел
,, Obviously, there's a problem: what happens if a machine doesn't have two static IP addresses? This can happen with ppp connections or when using the dhcp protocol. It seems it would be much better to bind services to interfaces than to addresses. However, this is not yet supported in xinetd and is a real problem (for instance, writing a C module to access an interface or address depends on the OS, and since xinetd is supported on many OSes...). Using a script solves the problem:

#!/bin/sh

PUBLIC_ADDRESS=`/sbin/ifconfig $1 | grep "inet addr" | awk '{print $2}'| awk -F: '{print $2}'`
sed s/PUBLIC_ADDRESS/"$PUBLIC_ADDRESS"/g /etc/xinetd.base > /etc/xinetd.conf


This script takes the /etc/xinetd.base file, containing the desired configuration with PUBLIC_ADDRESS as a replacement for the dynamic address, and changes it in /etc/xinetd.conf, modifying the PUBLIC_ADDRESS string with the address associated to the interface passed as an argument to the script. Next, the call to this script depends on the type of connection: the simplest is to add the call into the right ifup-* file and to restart xinetd.
У меня к сожалению этот скрипт чистит весь конфиг фаил , в програмирование я полный дундук поэтому не знаю что здесь можно поменять . Ну и ко всему прочему, почему бы уж тогда нельзя было сделать скрипт более толковый , который после рестарта системы проверяет IP , меняет конфиг , и перестартовывает xinetd.
Так что если у кого есть идеи пишите. На этом по ФТП пока все, если есть мысли , дополнения, вопросы пищите.




Страницы: 123

Предыдущая тема: Перемещаемые профили: синхронизация между контроллерами


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.