Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Настройка роутера на CentOS 6.0  (Прочитано 104607 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #60 : 29-10-2011 13:54 » 

Чтоб разрешить порт 8181 на определенный адрес для всей подсети - нужно
Код:
-A INPUT -s 192.168.30.0/24 -p tcp -m state --state NEW -d 22.22.22.22/0 -m tcp --dport 8181 -j ACCEPT
Записан
Finch
Спокойный
Администратор

il
Online Online
Пол: Мужской
Пролетал мимо


« Ответ #61 : 29-10-2011 13:57 » 

Кстати, если хочешь также вешать httpd (Apache) демон. Я его настраивал недавно у себя в песочнице (chroot jail) могу скинуть свои заметки на полях (чтоб не забыть).
« Последнее редактирование: 29-10-2011 14:10 от Sla » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #62 : 29-10-2011 14:01 » 

Давай.
Апач планировал поднимать на другом сервере внутри этой вируальной сети, а не на роутере
Записан
Finch
Спокойный
Администратор

il
Online Online
Пол: Мужской
Пролетал мимо


« Ответ #63 : 29-10-2011 14:03 » new

Чтоб разрешить порт 8181 на определенный адрес для всей подсети - нужно
Код:
-A INPUT -s 192.168.30.0/24 -p tcp -m state --state NEW -d 22.22.22.22/0 -m tcp --dport 8181 -j ACCEPT
У подсети 22.22.22.22 не может быть /0 Это число обозначает сколько значимых бит, которые обозначают подсеть.Например 192.168.30.0/24 Подсеть 192.168.30 А компьютеров будет 256 штук.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #64 : 29-10-2011 14:05 » 

http://www.cyberciti.biz/tips/linux-iptables-9-allow-icmp-ping.html
Цитата
To enable ICMP ping outgoing request use following iptables rule:

Код:
SERVER_IP="202.54.10.20"
iptables -A OUTPUT -p icmp --icmp-type 8 -s $SERVER_IP -d 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 0/0 -d $SERVER_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

А внутри /etc/sysconfig/iptables я могу объявить переменую и использовать ее?

Цитата
У подсети 22.22.22.22 не может быть /0 ...
Ага. т.е. для 22.22.22.22 должно быть /32 и это в принципе можно опустить?

Записан
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #65 : 29-10-2011 14:09 » 

Чего-то не хватает. При следующих настройках досуп в инет с внутренней машины не работает:
# iptables-save
# Generated by iptables-save v1.4.7 on Sat Oct 29 17:06:53 2011
*nat
:PREROUTING ACCEPT [228:58764]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [3:239]
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Sat Oct 29 17:06:53 2011
# Generated by iptables-save v1.4.7 on Sat Oct 29 17:06:53 2011
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [67:8501]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.30.0/24 -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -s 192.168.30.0/24 -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -s 192.168.30.0/24 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -s 192.168.30.0/24 -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -s 192.168.30.0/24 -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
-A INPUT -s 192.168.30.0/24 -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Или в правилах должно быть "-A FORWARD ..." ?
Записан
Finch
Спокойный
Администратор

il
Online Online
Пол: Мужской
Пролетал мимо


« Ответ #66 : 29-10-2011 14:11 » 

Основная часть это руководство http://www.cyberciti.biz/tips/chroot-apache-under-rhel-fedora-centos-linux.html
Только так как апач старше 2.2.10, то пункт по установке и настройке mod_chroot нужно исключить. Также желательно исключить пункт по отключению Selinux

А остальное тут Улыбаюсь Кстати, я выбрал каталог /chroot/httpdjail в отличии от статьи /httpdjail


Чтобы система Selinux позволила apache читать и передавать в сеть файлы, нужно
пометить их соответвуюшим тегом контекста. В нашем случае httpd_sys_content_t.
Для этого достаточно пометить рабочий каталог. Теперь все файлы, которые будут
записаны в данный каталог, автоматически будут помечены этим же тегом контекста.
semanage fcontext -a -t httpd_sys_content_t "/chroot/httpdjail/var/www/html"
restorecon -v /chroot/httpdjail/var/www/html
Убедится, что на каталог и на файлы в нем выданы нужные теги контектса можно с
помошью команды ls.
ls -Z /chroot/httpdjail/var/www/html

Mожно проверить работу. Запишем в рабочий каталог файл index.html примерно
такого содержания.
Код:
<html>
   <head>
      <title>Hello world</title>
   </head>
   <body>
      <h1>Hello world</h1>
   </body>
</html>
Запускаем наш любимый браузер и проверяем, что все работает. Если получам, ошибку
доступа. Нужно проверить логи самого apache и также логи Selinux. Как правило,
если Selinux запретил доступ к файлу, в своем менеджере дает руководство по
решению проблемы.

Проверяем работу PHP, для этого создаем файл index.php с таким содержанием.
Код:
<html>
   <head>
       <title>PHP Hello World</title>
   </head>
   <body>
      <?php
         
echo "PHP Hello World"
      
?>

   </body>
</html>
Аналогично проверяем его работу в браузере.

Добавляем в index.php строчку echo date('Z'); При проверке такого файла, выесняется
Что происходит сбой. Это происходит потому что PHP в песочнице не имеет доступа
к базе данных часовых поясов. Решение, нужно скопировать данную базу. Она находится
в каталоге /usr/share/zoneinfo
mkdir -p /chroot/httpdjail/usr/share/zoneinfo
Для каталога zoneinfo нужно поставить тег контектса locale_t
semanage fcontext -a -t locale_t /chroot/httpdjail/usr/share/zoneinfo
restorecon -v /chroot/httpdjail/usr/share/zoneinfo
Теперь можно копировать базу часовых поясов.
cp -Rv /usr/share/zoneinfo /chroot/httpdjail/usr/share/

Чтоб разрешить доступ из песочници к базе данных, нужно
setsebool -P httpd_can_network_connect_db 1

« Последнее редактирование: 29-10-2011 14:26 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Finch
Спокойный
Администратор

il
Online Online
Пол: Мужской
Пролетал мимо


« Ответ #67 : 29-10-2011 14:16 » 

Код:
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
Запрешает абсолютно все пакеты проходить дальше через узел. Т.е. Если ты хочеш через узел пропускать какие либо пакеты, ты должен разрешить их форвардинг через твой узел. Т.е разрешаюшие правила форвардинга должны стоять до полного запрешения.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #68 : 29-10-2011 14:48 » 

Как выглядят правила форвардинга?
Такие варианты у меня не прокатили:
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -s 192.168.30.0/24 -p tcp --dport 80 -j ACCEPT
Записан
Finch
Спокойный
Администратор

il
Online Online
Пол: Мужской
Пролетал мимо


« Ответ #69 : 29-10-2011 15:09 » 

http://oceanpark.com/notes/firewall_example.html Тут есть скрипт настройки с коментариями Улыбаюсь Из него можно выудить
Код:
#
# Forward all packets from eth1 (internal network) to eth0 (the internet).
#
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

#
# Forward packets that are part of existing and related connections from eth0 to eth1.
#
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

Т.е по правилам
Код:
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
« Последнее редактирование: 29-10-2011 15:13 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #70 : 29-10-2011 22:31 » 

Есть мнение, что надо переходить на Science Linux - тоже клон RHEL. Совместим с CentOS.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #71 : 31-10-2011 06:55 » 

RXL, Какие плюсы у Science Linux по сравнению с CentOS ?
Записан
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #72 : 31-10-2011 07:28 » 

Для проброса порта с обного IP на другой Рома когда-то писал мне следующие правила IP tables (перевел в общий вид):
Код:
iptables -t nat -A PREROUTING -d $ExtIP -p tcp -m tcp --dport $ExtPort -j DNAT --to-destination $IntIP:$IntPort
iptables -t nat -A POSTROUTING -d $IntIP -p tcp -m tcp --dport $IntPort -j SNAT --to-source $ExtIP
Правильно ли я их интерпретировал из частного случая (когда были подставлены реальные значения IP и портов)? Особенно вызывает вопрос --dport $IntPort во второй строке: там только один порт - а если бы он у меня не совпадал?
Реально сейчас мне нужно пробросить порт 9999 с внешнего IP на порт 3389 (RDP) IP внутренней сети 192.168.30.30.

Еще вопрос: таких пробросов будет достаточно много (порядка 10-20). Хочу создать текстовый файл вида:
Код:
ExtIP ExtPort IntIP IntPort
Из которого читать данные и скриптом при загрузке задавать нужные правил форвардинга.
Где (идеологически правильно) разместить этот скрипт и как настроить его вызов при загрузке / переинициализации iptables?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #73 : 31-10-2011 12:54 » 

RXL, Какие плюсы у Science Linux по сравнению с CentOS ?

У команды CentOS сложилась хреновая ситуация: лидер проекта слинял вместе с кассой пожертвований, соотв., работники отваливаются - осталось всего трое. У них нет ресурсов на поддержку проекта. Обновления сильно затянулись. Ветку 5 с грехом пополам поддерживают, а 6-я ветка отстает от RedHat на пол года.
Проект Science Linux также базируется на SRPM пакетах RHEL, но зато у них есть полноценное финансирование (CERN, институт Ферми).
Оба дистрибутива полностью совместимы с RHEL и между собой. Т.е. переход на другой дистрибутив заключается только в установке на хосте одного пакета: *-release (* - название дистрибутива). После чего нужно в /etc/yum.repos.d/ запретить/разрешить нужные репозитории и обновляться через yum. Нумерация версий совпадает.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #74 : 31-10-2011 13:42 » 

"Т.е. переход на другой дистрибутив заключается..."
Где про это можно подробнее почитать (как указать название дистрибутва, как поменять репозитории, как обновиться )?
Записан
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #75 : 31-10-2011 16:49 » 

Сделал согласно этой инструкции:
http://blog.bradiceanu.net/2011/09/02/how-to-convert-centos-6-0-to-scientific-linux-6-x/

Не выполняются пункты с удалением пакетов - пишет есть зависимости
# rpm -e centos-release
error: Failed dependencies:
        /etc/system-release is needed by (installed) initscripts-9.03.17-1.el6.centos.i686
# rpm -e yum-plugin-fastestmirror
error: Failed dependencies:
        yum-plugin-fastestmirror is needed by (installed) yum-3.2.27-14.el6.centos.noarch
# rpm -q -a| grep -i "centos"
centos-release-6-0.el6.centos.5.i686
plymouth-scripts-0.8.3-17.el6.centos.i686
yum-3.2.27-14.el6.centos.noarch
initscripts-9.03.17-1.el6.centos.i686
plymouth-0.8.3-17.el6.centos.i686
plymouth-core-libs-0.8.3-17.el6.centos.i686
Все можно удалять?

Вот после это инструции (http://nixgeek.com/convert-centos-6-server-to-scientific-linux-6.html):
yum erase centos-release
yum clean all
yum distro-sync
yum reinstall `rpm -qa --qf "%{NAME} %{VENDOR}\n"|grep CentOS|awk '{print $1}'`
Осталось меньше пакетов:
# rpm -q -a| grep -i "centos"
plymouth-scripts-0.8.3-17.el6.centos.i686
yum-3.2.27-14.el6.centos.noarch
plymouth-core-libs-0.8.3-17.el6.centos.i686
Они нужны?
Записан
Finch
Спокойный
Администратор

il
Online Online
Пол: Мужской
Пролетал мимо


« Ответ #76 : 01-11-2011 00:09 » 

Судя по этому http://en.wikipedia.org/wiki/Plymouth_%28software%29 plymouth не важен. А вот yum довольно важная деталь. Попробуй сделать yum update yum. Если версии не совпадают, может быть он подхватит более новую версию.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #77 : 01-11-2011 04:03 » 

А ты обновляешься до 6.1? Тогда обнови и yum - в sl 6.1 он версии 3.2.29, а в centos 6.0 - 3.2.27.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #78 : 01-11-2011 04:39 » 

Обновил, но пришлось отлючить проверку pgp (yum update --nogpgcheck yum), потому ка выдавало ошибку:
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 192a7d7d: NOKEY


GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-sl
Записан
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #79 : 01-11-2011 04:41 » 

plymouth удалил.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #80 : 01-11-2011 05:40 » 

Т.е. переход на другой дистр с апгрейдом прошел удачно? Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #81 : 01-11-2011 13:25 » 

Да, спасибо Улыбаюсь
Осталось порт-форвардинг настроить...
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #82 : 01-11-2011 14:59 » 

См. мануал на iptables. Перенаправлять порты довольно просто. Для транзита используются две встроенные цепочки PREROUTING и POSTROUTING. В первой можно изменить адрес и порт назначения, во второй - адрес и порт источника. Соотв., для перенаправления входящих соединений из инета используются помещают правила в первую таблицу. Для исходящих соединений из локалки в инет - во вторую.

Простой пример: перенаправление входящего 80/tcp в локалку на 192.168.0.123 и разрешение исходящих соединений для всех хостов в локальной сети. Условно принимаю, что внешний интерфейс - eth0.

Код: (Bash)
INET_ADDR=1.2.3.4
HTTP_LOCAL_IP=192.168.0.123
LOCAL_NET=192.168.0.0/24

iptables -t nat -A PREROUTING -i eth0 -d $INET_ADDR -p tcp --dport 80 -j DNAT --to-destination $HTTP_LOCAL_IP
iptables -t nat -A POSTOUTING -o eth0 -s $LOCAL_NET -j MASQUERADE

Если внешний адрес только один, то указывать его не нужно.
« Последнее редактирование: 01-11-2011 15:23 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #83 : 01-11-2011 15:35 » 

Повторил эксперимент с апгрейдом с CentOS 6.0 на Scientific Linux 6.1. Весь апгрейд занял примерно 5 минут.
* Установил пакет sl-release-6.1-2.i686.rpm.
* Запретил репозитории CentOS.
* yum update и на все вопросы - "y".
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #84 : 01-11-2011 17:24 » 

Т.е. переход на другой дистр с апгрейдом прошел удачно? Улыбаюсь
Сегодня оказалось что переход прошел не очень удачно Жаль
Удаленно подсоединиться к системе не удалось. В консоли она работала, но после перезагрузки не поднялась.
Поскольку особой ценности в ней не было - завтра подниму SL с нуля, пользуясь данными в этой теме Улыбаюсь
Записан
Finch
Спокойный
Администратор

il
Online Online
Пол: Мужской
Пролетал мимо


« Ответ #85 : 01-11-2011 17:56 » 

А на чем она падает? Случайно не error 15?
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #86 : 01-11-2011 18:51 » 

У меня тестовая система была в контейнере OpenVZ. Два ребута пережила и поднималась без проблем. Но ssh я не проверял.

Как выглядела проблема удаленного подключения?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #87 : 01-11-2011 21:00 » 

А на чем она падает? Случайно не error 15?
Не знаю Жаль Я ничего не вижу в консоли vSphere при загрузке.

Как выглядела проблема удаленного подключения?

Просто отказ от соединения. Суды по скорости отказа - как будто закрыт порт (точного сообщения putty не помню).
С консоли подробности не проверял - она не удобная, понадеялся что может все проблемы решаться после перезагрузки (Виндовое прошлое и настоящее дает о себе знать)...
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #88 : 01-11-2011 21:04 » 

Думаю, сперва, пока была консоль, следовало проверить, запущен ли и настроен ли ssh, какие настройки у файрвола. Это как вероятное.

Т.е. у vSphere нет консоли во время ребута? Хреново - мы ее тоже покупаем.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #89 : 01-11-2011 21:24 » 

Думаю, сперва, пока была консоль, следовало проверить, запущен ли и настроен ли ssh, какие настройки у файрвола. Это как вероятное.
Надо конечно, но не с моими знаниями о Линуксе Улыбаюсь

Т.е. у vSphere нет консоли во время ребута? Хреново - мы ее тоже покупаем.
Нет - все есть. Просто сама система уходит в какой-то угол - только текстовый курсор и все.
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines