ну вот первая моя статья сыровато правдо но работает
Сперва можно произвести обновление системы или пропустить этот момент.
Ну я например этого не делал! Установил Ubuntu 8.04 Desktop.
Настройка сети, сетевых карт.
И так настраиваем сеть:
перед этим я удали из системы network manager (ну он мне несильно впечатлил своими глюками) другие могут этого и не делать.
Установил network-admin (либо через Syaptic или через терминал командой sudo apt-get install network-admin ) ,более приятно в настройке для сетевых интерфейсов и настроил сеть через него(если честно то больше нравится делать все руками).
Для ручной настройки можно воспользоваться следующей командой:
sudo gedit /etc/network/interfaces
или кому чем сподручней и пишем в нем сведущее (это для моей сети к примеру у вас может и отличатся):
auto lo
iface lo inet loopback
iface eth1 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
auto eth1
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
auto eth0 |
И так имеем
eth0 - подключена к локальной сетке
eth1 - подключена к ADSL модему
Далее :
создаем ADLS подключение выполнив команду:
sudo pppoeconfig
отвечаем на все вопросы положительно вводим имя и пароль с карточки и все.
В итоге если выполнить команду ifconfig то увидим следующее:
eth0 Link encap:Ethernet HWaddr 00:1d:60:6d:5d:6f
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21d:60ff:fe6d:5d6f/64 Диапазон:Ссылка
ВВЕРХ BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:285017 errors:0 dropped:0 overruns:0 frame:0
TX packets:153931 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:26020536 (24.8 MB) TX bytes:132146247 (126.0 MB)
Прервано:219 Base address:0xa000
eth1 Link encap:Ethernet HWaddr 00:1e:58:48:31:14
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::21e:58ff:fe48:3114/64 Диапазон:Ссылка
ВВЕРХ BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:116070 errors:0 dropped:0 overruns:0 frame:0
TX packets:94256 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:120409583 (114.8 MB) TX bytes:10218370 (9.7 MB)
Прервано:19
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Диапазон:Узел
ВВЕРХ LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4838 errors:0 dropped:0 overruns:0 frame:0
TX packets:4838 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:970462 (947.7 KB) TX bytes:970462 (947.7 KB)
ppp0 Link encap:Протокол PPP (Point-to-Point Protocol)
inet addr:85.175.82.119 P-t-P:85.172.0.16 Mask:255.255.255.255
ВВЕРХ POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:114208 errors:0 dropped:0 overruns:0 frame:0
TX packets:92333 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:3
RX bytes:117320943 (111.8 MB) TX bytes:7692041 (7.3 MB)
|
А файл /etc/network/interfaces будет таким:
auto lo iface lo inet loopback
iface eth1 inet static address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1
auto eth1
iface eth0 inet static address 192.168.1.1 netmask 255.255.255.0
auto eth0
auto dsl-provider iface dsl-provider inet ppp pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf provider dsl-provider |
Ну вот и все сеть настроена и интернет тоже есть в терминале можно выполнить
sudo apt-get update
Следующий этап — установки сервер ядра ( linux-server) . проделать можно как установкой через Syaptic ,набрав в поиске linux-server , или через терминала суперпользователя :
sudo apt-get install linux-server
как в том или в другом случай будет запрошено дерева зависимостей, нужно согласится и установить все. Также для удобства можно установить поддержку кириллиц в консоли и консольный фаловый менеджер MC, также либо в Syaptic или в консоль :
console-cyrillic и mc — в строке поиска Syaptic
sudo apt-get install console-cyrillic mc — для терминала суперпользователя.
Следующее устанавливаем пакеты программ для сервера это LAWP (Linux-Apache-MySQL-PHP) делал я это из терминала:
sudo apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.3-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential alien ssh openssh-server mysql-server mysql-client libmysqlclient15-dev phpmyadmin mysql-admin libapache2-mod-auth-mysql mysql-gui-tools-common mysql-admin mysql-query-browser mysql-query-browser mysql-gui-tools-common libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php-image-graph imagemagick php5-ldap apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert webalizer ntp ntpdateили sudo tasksel
Единственное, что у вас попросят — задать root-пароль для СУБД MySQL. После завершения установки, все сервисы будут сконфигурированы и запущенны. Кроме LAMP, tasksel позволяет легко установить еще несколько 10 сервисов: от почтового, до DNS.
Пакеты будут установлены в систему , после чего выполним несколько команд:
a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod include
a2enmod php5что бы на нашем сервере заработал пакет phpmyadmin, нужно сделать ссылку на папку где он лежит:
ln -s /usr/share/phpmyadmin/ /var/www
и пере загружаемся.
Все страницы для веб сервера хранятся /VAR/WWW
теперь набрав в браузере :
localhost
или
127.0.0.1
или
192.168.1.1 — (это ip адрес моей сетевой которая подключена к локальной сетке)
мы попадаем в папку /var/www, где сервер Apache пытается найти файл index.html, index.php
соответственно файла такого там нет и в браузере мы увидим все папки которые находятса в /VAR/WWW
можно скопировать из apache2-default и файл index.html в /VAR/WWW и заново набрав:
в браузере :
localhost
или
127.0.0.1
увидим - It works!
Проверка установки php
создаем файл:
Код:
sudo gedit /var/www/testphp.phpВставляем следующую строку в новый файл
<?php phpinfo(); ?>Сохраняем, запускаем:
http://localhost/testphp.php Вызов через браузер phpmyadmin:
http://localhost/phpmyadminСледующий этапом ставим SQUID 2.6.STABLE18
также через поиск в менеджере установки пакетов или через терминал
sudo apt-get install squid
соглашаемся с установкой дополнительных необходимых пакетов для его работы.
Теперь необходимо поставить SAMS для Squid . Лично я использовал готовые пакеты для дебиен с сайта разработчика
http://sams.perm.ru, тимже есть и документация по настройке и установке . И так скачиваем тири пакета :
http://nixdev.net/release/sams/debian/etch/sams_1.0.4-1_amd64.debдля AMD
http://nixdev.net/release/sams/debian/etch/sams_1.0.4-1_i386.debдля INTEL
http://nixdev.net/release/sams/debian/etch/sams-doc_1.0.4-1_all.debдокументация Sams
http://nixdev.net/release/sams/debian/etch/sams-web_1.0.4-1_all.debвеб интерфейс к Sams
Я ставил 3 последних пакета
необходимо скопировать из usr/share/ папку sams в /var/www/
Создание БД:
Для работы SAMS необходимо создать пользователя sams в БД MySQL:
mysql -u root -p (тут спросят пароль root для mysql)
GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY “12345”;(вместо “12345” вписываем свой пароль для юзера sams)
GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY “12345”;
exitимя пользователя и пароль надо сохранить в файле конфигурации SAMS /etc/sams.conf
MYSQLUSER=sams - Имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLPASSWORD=yourpasswd - Пароль пользователя в MySQL
Создаем базы SAMS в MySQL
Для этого перемещаемся в каталог ./mysql и там даем команды:
Код:
cd ./mysql
mysql -u root -p < sams_db.sql
mysql -u root -p < squid_db.sqlопять же будет просить пароль от рута Mysql!!!!
Настройка PHP:
С текущей версии SAMS научился работать с PHP в режиме safe_mode=On. Но это требует дополнительной настройки конфигурации. Для этого редактируем файл конфигурации php /etc/php5/apache2/php.ini.
Просто ищем строчки и меняем их на приведенные далее
1. включаем режим safe mode. Для этого выставляем параметр safe_mode
safe_mode = On2. SAMS для некоторых функций WEB интерфейса использует системные команды, например wbinfo. В режиме safe_mode php блокирует доступ к системным командам. Php позволяет выполнять системные команды, расположенные в каталоге, заданном параметром safe_mode_exec_dir. Изменяем этот параметр:
safe_mode_exec_dir = "/usr/local/share/sams/bin"
3. Далее разрешаем исполнение системных скриптов из кода php. Ищем в файле конфигурации параметр и убираем из него запрет вызова функций phpinfo system shell_exec exec:
disable_functions = "chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec"4. Все. PHP готов к работе.
Все теперь переходим в конфигурацию squid:
sudo gedit /etc/squid/squid.confили в терминале с правами суперпользователя через MC.
указываем адрес, который будет слушать наш прокси
http_port 192.168.1.1:3128 transparentраскоментирываем
pid_filename /var/run/squid3.pid
cache_mem 64 MB делаем по своему усмотрению
cache_dir ufs /var/spool/squid 1000 16 256 делаем по своему усмотрению
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.logдописываем
visible_hostname LinserverИщем соответствующие секциидописываем если нет или открываем:
url_rewrite_program /usr/bin/samsredir
url_rewrite_children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hoursвсе минимальные настройки для работы готовы асталось настроить iptables
IPTABLES
Здесь я опишу самые простые настройки как я это делал
и так
создадим файл rc.fier в /etc/init.d/ и впишем в него следущее
#!/bin/bash
# Включаем IP форвардинг
echo "1" > /proc/sys/net/ipv4/ip_forward
# Защита от Syn flood атаки
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
IPT="/sbin/iptables"
LO_INTERFACE="lo"
WAN_INTERFACE="eth1"
NAT_INTERFACE="eth0"
# чистим все правила
$IPT -t filter -F
$IPT -t filter -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
# безлимитный трафик для lo интерфейса
$IPT -t filter -A INPUT -i $LO_INTERFACE -j ACCEPT
$IPT -t filter -A OUTPUT -o $LO_INTERFACE -j ACCEPT
# Трансляция IP адресов (NAT)
$IPT -t nat -A POSTROUTING -o $NAT_INTERFACE -j MASQUERADE
$IPT -t nat -A POSTROUTING -o $WAN_INTERFACE -j MASQUERADE
$IPT -t nat -A PREROUTING -s 192.168.1.0/24 -p udp -m multiport --dport 53,80,81,82,83,88,5190,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128
$IPT -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp -m multiport --dport 53,80,81,82,83,88,5190,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128
|
Далее там же создадим и rc.iptables
#!/bin/bash
IPT="/sbin/iptables"
START="/bin/bash"
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
NAME="$0"
N="/etc/init.d/$NAME"
if [ ! -f /etc//init.d/rc.fier ]; then
echo "/etc//init.d/rc.fier does not exist"
exit 0
fi
case "$1" in
start|restart)
echo -n "Starting up iptables firewall..."
$START /etc/init.d/rc.fier
echo "done."
;;
stop)
$IPT -t filter -F
$IPT -t filter -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
echo "done."
exit 0;
;;
*)
echo "Usage: $N {start|restart|stop}" >&2
exit 1
;;
esac
exit 0
|
Можно также сделать и автозапуском при старте в /etc/network/interfaces к строчкам про ppp0 добавить вызов файла. Вот так например:
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
up /etc/init.d/rc.iptables #вот моя строчка на запуск конфига.
provider dsl-provider
да самые примитивные настройки готовы
теперь перезагружаемся и запускаем SAMS
sudo /etc/init.d/sams start
про настроуку и добавление пользователей можно почитать в документации !
Теперь войти на :
http://localhost/samsили
http://192.168.1.1/samsлогин и пароль доступа к админ — admin/qwerty
в целях безопасности их стоит поменять !!!!
вот откуда брал информацию:
https://forum.ubuntu.ru/index.php?topic=48214.0;allhttp://sudouser.com/nastrojka-shlyuza-v-lokalnoj-seti-limitirovanie-skorosti-shaper-faervol-iptableshttps://forum.ubuntu.ru/index.php?topic=16352.15http://www.permlug.org/node/4560/http://yaroshenko.biz/archives/101#more-101http://www.opennet.ru/base/net/iptables_tbf.txt.htmlhttp://sams.perm.ru/doc/ru/index.htmlhttp://www.tux.in.ua/articles/771Да конечно статья сыровата но я ее доработаю если есть советы пожалуста подскажите буду благодарен в часности интересует Iptables вести до ума чтобы можно было полностью защитить от атак из вне !!
пожалуста хоть мнение свое оставте или мне на мыло скинте может что не так или чем дополнить!