Ubuntu 16.04 и настройка его с нуля

Содержание статьи:
1. Отключение IPv6
2.iface Настройка IPV4
2.0.Netplan Настройка IPV4
3.01. Установка MySQL
3.03. Устанавливаем Nginx
3.04. Установка и Настройка DHCP
4.0. Установка Desktop
5.0. Ставим SQUID с поддержкой SSL и отключенном IPv6
5.0.1 SQUID и LOG с нормальными датой и временем
5.0.2 Парсер Логов Squid (SQUID_LOG)
5.1.Настройка NAT
6.1 установим vsftpdFTP
999.Help Тут некие пригодившиеся вещи….

1. Отключение IPv6

Скрытый текст
Для отключения ipv6 отредактируем sysctl

# vi /etc/default/grub

Добавим значение

ipv6.disable=1 

в параметры (если там данные уже есть то вносим через пробел)

GRUB_CMDLINE_LINUX_DEFAULT = "ipv6.disable=1"

и

GRUB_CMDLINE_LINUX = "ipv6.disable=1"

После сохранения обновим GRUB и перезагрузим комп:

# update-grub
# reboot

Теперь, когда вы выполните ip addr show, здесь не должно быть ipv6 адреса:

# ip addr show

2.iface Настройка IPV4

Скрытый текст
При запуске Ubuntu не отобразились сетевые интерфейсы

1. после ввода данной команды отобразятся все сетевые интерфейсы

# lshw -C network

2. Включить выключить интерфейс:

# sudo ifconfig eth0 up #(когда надо отключить меняешь up на down)

И посмотреть:

# ifconfig

Перезапустить сервис:

# sudo /etc/init.d/networking restart

И посмотреть:

# ifconfig
# vi /etc/network/interfaces

прописать В файл /etc/network/interfaces примерно так:
(для одного проводного соединения со статическим IP)

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Моя проводная сеть.

auto enp3s2
iface enp3s2 inet static
address 192.168.100.119
netmask 255.255.255.0

auto enp3s3
iface enp3s3 inet static
address 10.33.0.119
netmask 255.255.255.0
gateway 10.33.0.211
dns-nameservers 10.33.0.211
iface eth0 inet static - указывает, что интерфейс (iface eth0) находится в диапазоне адресов IPv4 (inet) со 

статическим ip (static);
address 192.168.0.1 - указывает что IP адрес (address) нашей сетевой карты 192.168.0.1;
netmask 255.255.255.0 - указывает что наша маска подсети (netmask) имеет значение 255.255.255.0;
gateway 192.168.0.111 - адрес шлюза (gateway) по умолчанию 192.168.0.254;
dns-nameservers 192.168.0.111 8.8.8.8 - адреса DNS серверов (о ниж мы расскажем позже)
auto eth0 - указывет системе что интерфейс eth0 необходимо включать автоматически при загрузке системы с 

вышеуказанными параметрами.

перед установкой доп компанентов
обновимся

# sudo apt-get update && sudo apt-get dist-upgrade -y
2.0.Netplan Настройка IPV4
Скрытый текст

зайдем как суперпользователь

sudo -s

отредактируем файл

# vim /etc/netplan/ИМЯ ФАЙЛА.yaml
network:
version: 2
enp5s1:
addresses: [192.168.100.119/24]

enp5s2:
addresses: [192.168.10.119/16] ##Можно указать два IP
gateway4: 192.168.100.101
nameservers:
addresses: 192.168.100.101

применим наши параметры

# netplan try
# netplan apply
3.01. Установка MySQL
Скрытый текст
Установка MySQL

В качестве сервера баз данных, выбрал MaridDB. По функционалу в чем-то даже лучше MySQL, но статья не об этом.

apt-get install mariadb-server
#настраиваем пароли на доступ
mysql_secure_installation
#запускаем mysql и сбрасываем привилегии
mysql -u root
use mysql;
update user set plugin='' where User='root';
flush privileges;

Проверяем, все ли хорошо у нас запустилось:

service mysql status
3.02. Устанавливаем PHP 5.6 FPM
Скрытый текст
Устанавливаем PHP 5.6 FPM

В Ubuntu 16.04 Xenial уже давно из репозитория убрали PHP 5.6 и вместо него по умолчанию устанавливается новая

версия PHP 7.0. Но как быть тем, кто по той или иной причине не может перейти на новую версию? В этом случае, если

вы хотите использовать PHP 5.6 вам необходимо предварительно добавить репозиторий для старой версии.

Добавим ppa-репозиторий в систему:

add-apt-repository ppa:ondrej/php
# apt-get update
#apt-get install php5.6-cli php5.6-common php5.6-mysql php5.6-gd php5.6-fpm php5.6-cgi php-pear

останавливаем установленный сервис и редактируем файлы настройки

service php5.6-fpm stop
# vi /etc/php/5.6/fpm/php.ini
cgi.fix_pathinfo = 0
post_max_size = 200M
upload_max_filesize = 200M
# vi /etc/php/5.6/fpm/pool.d/www.conf
security.limit_extensions = .php .php3 .php4 .php5
listen = /run/php/php5.6-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
# service php5.6-fpm start

Можно убедится в том, что права доступа к сокету установлены верно:

ls -la /run/php/php5.6-fpm.sock
#srw-rw---- 1 www-data www-data 0 May 2 16:36 /run/php/php5.6-fpm.sock

Проверяем:

php -v
PHP 5.6.23-2+deb.sury.org~xenial+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
3.03. Устанавливаем Nginx
Скрытый текст
Устанавливаем Nginx
apt-get install nginx nginx-extras
3.04. Установка и Настройка DHCP

Скрытый текст
Настройка DHCP
На данном этапе уже есть возможность указать на локальной машине статический IP-адрес из локальной подсети,

например 192.168.0.2, наш сервер (192.168.0.1), в качестве шлюза, и DNS-сервер. Компьютер будет подключен к

локальной сети.

Но система статических IP-адресов имеет свои недостатки: необходимо настраивать каждую машину для подключения к

локальной сети, возможен конфликт одинаковых IP и тому подобное.

Поэтому следующим этапом будет настройка механизма автоматической трансляции IP-адресов через DHCP. В таком случае

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

Для установки сервера DHCP используется команда:

# sudo apt-get install isc-dhcp-server

Файл конфигурации по умолчанию находится в /etc/dhcp/dhcpd.conf, откроем файл в редакторе с помощью команды:

#vi /etc/dhcp/dhcpd.conf

В большинстве случаев минимальная настройка производится внесением блока вида:

subnet 192.168.0.0 netmask 255.255.255.0 {#подсеть 192.168.0.0/24
range 192.168.0.2 192.168.0.254; #диапазон выдаваемых адресов
option domain-name-servers 8.8.8.8;#dns-сервер
option domain-name "test.loc"; #имя домена
option routers 192.168.0.1; # “рекомендуемый” шлюз
default-lease-time 604800; # стандартная длительность аренды ip-адреса
max-lease-time 604800; #максимальная длительность аренды ip-адреса
}

После изменения конфигурационного файла необходимо перезапустить сервер DHCP для применения новых настроек:

/etc/init.d/isc-dhcp-server restart

Теперь все клиенты локальной сети будут получать все настройки автоматически при подключении.

4.0. Установка Desktop
Скрытый текст
установим DESKTOP

# sudo apt-get install ubuntu-desktop -y

после установки перезагрузимся уже в наш интерфейс и продолжим работу

# reboot

После установки обновимся

# apt-get update
# apt-get dist-upgrade -y
# reboot
5.0. Ставим SQUID с поддержкой SSL и отключенном IPv6
Скрытый текст
Установим Squid с поддержкой SSL и отключением IPv6

Разблокируем ветки где указан src

# vi /etc/apt/sources.list

для этого разблокируем ветки где указан deb-src, уберем #

deb http://....
# deb-src http://...

поставим необходимые библиотеки для сборки

# apt-get update
# apt-get dist-upgrade -y
# reboot

для установки в 18.04 требовался не libssl-dev а libssl1.0-dev

apt-get install openssl devscripts build-essential dpkg-dev
apt-get install git fakeroot checkinstall patch libssl-dev libgnutls28-dev
apt-cache policy squid3
apt-get update

Перейдем в папку tmp где и произведем сборку (после перезагрузки все данные из этой папки стераются)

# cd /tmp

Качаем зависимости (для выполнения этой операции был поставлен dpkg-dev)

# apt-get build-dep squid3

Качаем исходник

# apt-get source squid3

В случае ошибки доступа apt «Невозможно сбросить права для скачивания» меняем права и повторяем

# chmod 777 squid3_3.5.12-1ubuntu7.2.dsc
# apt-get source squid3

В моем случае это был файл squid3_3.5.12-1ubuntu7.2.dsc может быть и squid3_3.5.12-1ubuntu7.3.dsc и другие

разновидности

Если этого не сделать или будут ошибки, то не появится папка debian

Переходим в полученную папку

# cd squid3-3.5.12

Добавляем поддержку ssl
Редактируем файл правил

# vi debian/rules

Добавляем строчки
ВАЖНО: чтобы все параметры заканчивались \, а именно дописать после proxy \

--disable-ipv6 \
--enable-icap-client \
--enable-ssl \
--enable-ssl-crtd \
--with-openssl \

ЕЩЕ РАЗ. ОЧЕНЬ ВАЖНО: чтобы все параметры заканчивались \ , а именно дописать после proxy \

Собираем DEB пакеты ( Процесс долгий минут 15-20)

# dpkg-buildpackage -d

Возможные ошибки:

configure: error: library 'crypto' is required for OpenSSL

Необходимо установить libssl-dev и перезапустить процесс сборки

# apt-get install libssl-dev
# rm config.log
# dpkg-buildpackage -d

Идем в папку выше и там должны быть получившиеся пакеты

# ls -1
squid3-3.5.12
squid3_3.5.12-1ubuntu7.2_all.deb
squid3_3.5.12-1ubuntu7.2_amd64.build
squid3_3.5.12-1ubuntu7.2_amd64.changes
squid3_3.5.12-1ubuntu7.2.debian.tar.xz
squid3_3.5.12-1ubuntu7.2.dsc
squid3_3.5.12.orig.tar.gz
squid_3.5.12-1ubuntu7.2_amd64.deb
squid-cgi_3.5.12-1ubuntu7.2_amd64.deb
squidclient_3.5.12-1ubuntu7.2_amd64.deb
squid-common_3.5.12-1ubuntu7.2_all.deb
squid-dbg_3.5.12-1ubuntu7.2_amd64.deb
squid-purge_3.5.12-1ubuntu7.2_amd64.deb

Получаем список зависимостей для установки

# dpkg -i *.deb

Подгружаем зависимости

# apt-get install -f

и устанавливаем

# dpkg -i *.deb

Если все успешно то смотрим версию squid и что у нас вышло

# squid -v
Squid Cache: Version 3.5.12
Service Name: squid
Ubuntu linux
configure options: '--build=x86_64-linux-gnu'
'--prefix=/usr'
'--includedir=${prefix}/include'
'--mandir=${prefix}/share/man'
'--infodir=${prefix}/share/info'
'--sysconfdir=/etc'
'--localstatedir=/var'
'--libexecdir=${prefix}/lib/squid3'
'--srcdir=.'
'--disable-maintainer-mode'
'--disable-dependency-tracking'
'--disable-silent-rules'
'BUILDCXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -

fPIE -pie -Wl,-z,relro -Wl,-z,now'
'--datadir=/usr/share/squid'
'--sysconfdir=/etc/squid'
'--libexecdir=/usr/lib/squid'
'--mandir=/usr/share/man'
'--enable-inline'
'--disable-arch-native'
'--enable-async-io=8'
'--enable-storeio=ufs,aufs,diskd,rock'
'--enable-removal-policies=lru,heap'
'--enable-delay-pools'
'--enable-cache-digests'
'--enable-icap-client'
'--enable-follow-x-forwarded-for'
'--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB'
'--enable-auth-digest=file,LDAP'
'--enable-auth-negotiate=kerberos,wrapper'
'--enable-auth-ntlm=fake,smb_lm'
'--enable-external-acl-

helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group'
'--enable-url-rewrite-helpers=fake'
'--enable-eui'
'--enable-esi'
'--enable-icmp'
'--enable-zph-qos'
'--enable-ecap'
'--disable-translation'
'--with-swapdir=/var/spool/squid'
'--with-logdir=/var/log/squid'
'--with-pidfile=/var/run/squid.pid'
'--with-filedescriptors=65536'
'--with-large-files'
'--with-default-user=proxy'
'--enable-ssl'
'--enable-ssl-crtd'
'--with-openssl'
'--enable-build-info=Ubuntu linux'
'--enable-linux-netfilter'
'build_alias=x86_64-linux-gnu'
'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall'
'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now'
'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2'
'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security'

Конфигурация без блокировок и прочего. Именно посмотреть работу прозрачного режима. Обычная базовая с добавлением

SSL

Переходим в папку squid и генерируем сертификат

# cd /etc/squid/
# openssl req -new -newkey rsa:1024 -days 365 -nodes -x509 -keyout squidCA.pem -out squidCA.pem

Упростим конфигурацию файла для этого удалим все комментарии и пустые строки

# cp squid.conf squid.conf.bak
# cat squid.conf.bak | grep -v "^#" | grep -v "^$" > squid.conf

Добавим сеть src 192.168.100.0/24
Добавим порты под HTTP 3128 и HTTPS 3129
Добавим генерацию сертификатов sslcrtd_program

# vi squid.conf
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 local src 192.168.100.0/24

acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access allow local
http_access deny all

http_port 192.168.100.119:3128 intercept
https_port 192.168.100.119:3129 intercept ssl-bump cert=/etc/squid/squidCA.pem


#####Для режима варианта с подменой сертификата следующие строчки писать не надо
ssl_bump peek all
ssl_bump splice all
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
#####Для режима варианта с подменой сертификата следующие строчки писать не надо



coredump_dir /var/spool/squid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320


# squid -k parse
# squid -k reconfigure
5.0.1 SQUID и LOG с нормальными датой и временем
Скрытый текст
для корректного отчета log можно добавить нормальные дату и время

acl https_port port 443  
logformat https %{%Y.%m.%d/%H:%M:%S}tl %6tr %<a %Ss/%03>Hs %<st %rm %ssl::>sni %[un %Sh/%<a %mt. 
cache_access_log /var/log/squid3/access.log https https_port
acl http_port port 80
logformat http %{%Y.%m.%d/%H:%M:%S}tl %6tr %<a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt.

cache_access_log /var/log/squid3/access.log http http_port

либо общий вид

logformat squid %{%Y.%m.%d/%H:%M:%S}tl %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt %ssl::>sni
5.0.2 Парсер Логов Squid (SQUID_LOG)
Скрытый текст

просмотр логов в реальном времени

tail -f /var/log/squid/access.log | perl -p -e 's{^([\d]+\.[\d]+)(.*$)}{localtime($1).$2}e'

Делаем парсер логов

Подразумевается что БД есть и ТАБЛИЦА создана под наши требования

CREATE TABLE `squidlog` (
`date` text NOT NULL,
`time` text NOT NULL,
`size1` text NOT NULL,
`ip` text NOT NULL,
`udpzapros` text NOT NULL,
`size2` text NOT NULL,
`udp` text NOT NULL,
`link_site1` text NOT NULL,
`ip_site` text NOT NULL,
`link_site2` text NOT NULL,
`mime_type` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

и добавим в таблицу ID

ALTER TABLE `squidlog` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Скрипт переносит данные из лог файла squid в БД MySQL или любую другую
(подправить недолго)

# vim /etc/squid/squidlog.sh

наш скрипт:

#/bin/sh

#Создаем папку в которой будем перегонять данные
mkdir /tmp/squid

#копируем туда access.log
cp /var/log/squid/access.log /tmp/squid/access.log

#Чистим файл логов
truncate -s 0 /var/log/squid/access.log

# Создаем файл с SQL командами для занесения данных в БД.
# (Заносятся данные: Дата, время, объем полученных данных, адрес посещенной страницы)
# перегоняем access.log в MySQL команду
awk '{FS="[ ]+"} {print "INSERT INTO squidlog 

(date,time,size1,ip,udpzapros,size2,udp,link_site1,ip_site,link_site2,mime_type) VALUES (\""$1"\",\""$2"\",

\""$3"\",\""$4"\",\""$5"\",\""$6"\",\""$7"\",\""$8"\",\""$10"\",\""$12"\",\""$11"\");"}' \
/tmp/squid/access.log > /tmp/squid/tmp.squid

#Обнуляем после этого лог SQUID чтобы потом не занести данные снова
truncate -s 0 /tmp/squid/access.log
/usr/local/mysql/bin/mysql -u root --password=17081984 -D SQUID_DB_NAME < /tmp/squid/tmp.squid
truncate -s 0 /tmp/squid/tmp.squid
#Все

укажем что наш скрипт можно запускать

chmod +x /etc/squid/squidlog.sh

теперь добавим выполнение скрипта в CRON

crontab -e

и в самом конце

0 3 * * * root /etc/squid/squidlog.sh

Простейший вывод двнных из БД squidlog

<?PHP
session_start([
    'cookie_lifetime' => 886400,
    'read_and_close'  => true,
]);
date_default_timezone_set('Europe/Moscow');
ini_set('display_errors',1);
error_reporting(E_ALL);
require_once("connsan.php"); 
?>
<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<title>Выполнение скрипта SQUIDLOG.SH</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	</head>
	<body>
Выполнение скрипта SquidLOG.sh......system......
<br>
<?php
$result = system('sudo -u sani4 -S /etc/squid/./squidlog.sh');
echo $result;
if ($result)
{
echo "Ok.";
}
if (!$result)
{
echo "Errors.";
}
?>

<br>
			<table border=3>
				<tr>
					<td>Дата</td>
					<td>Время</td>
					<td>IP или ИМЯ машины</td>
					<td>URL</td>
					<td>Объем(КБ)</td>
				</tr>

<?PHP
		  $query="SELECT * FROM squidlog where ip_site not like '%192.168.100.119'"; 
		  $result = mysqli_query($link, $query);
		    while($row = mysqli_fetch_array($result)){
if (($row['link_site2'])=="-") 
	{$URL=$row['link_site1'];}
else
	{$URL=$row['link_site2'];}
$SIZE=$row['size2']/1024;
			echo "<tr>
					<td>$row[date]</td>
					<td>$row[time]</td>
					<td>$row[ip]</td>
					<td>$URL</td>
					<td>$SIZE</td>
				</tr>";

			}
?>
			</table>
	</body>
</html>


5.1.Настройка NAT
Скрытый текст
Настройка NAT
После организации локальной сети необходимо подключить её к Интернету — для этого реализуется трансляция сетевых

адресов (Network Address Translation или NAT). Благодаря NAT несколько компьютеров могут выходить в интернет,

используя один IP-адрес.

В Ubuntu механизм NAT реализуется с помощью сетевого фильтра iptables, который одновременно является брандмауэром.

Для автоматической загрузки настроек iptables при старте системы создадим новый пустой конфигурационный файл

командой:

sudo touch /etc/nat

И откроем его для изменения:

vi /etc/nat

Варианты конфигурации брандмауэра зависят от политики сетевой безопасности в компании. Минимальный набор настроек

выглядит следующим образом:

#!/bin/bash
#==========================================================
# Настройка IPTABLES
#==========================================================

#==========================================================
# Сетевый интерфейсы
#==========================================================
LAN="enp3s2"
WAN="enp3s3"
LO="lo"

#==========================================================
# Локальная сеть
#==========================================================
LAN_RANGE=192.168.100.0/255.255.255.0

#==========================================================
# Путь к таблицам
#==========================================================
IPTABLES="/sbin/iptables"

#==========================================================
# Список портов
#==========================================================
SSH="22"
DNS="53"
SQUIDH="3128"
SQUIDS="3129"
HTTP="80"
HTTPS="443"

# Сбрасываем все правила
#=========================================================================================
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

# Базовая расстановка правил
#==========================================================
$IPTABLES --policy INPUT ACCEPT #DROP
$IPTABLES --policy OUTPUT ACCEPT #DROP
$IPTABLES --policy FORWARD DROP #ACCEPT

# Включаем форвардинг ip в ядре.
#=========================================================================================
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward

# Включаем маскарадинг для маскарад для отработки NAT
#=========================================================================================
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE

# Разрешаем пакеты по уже установленным соединениям
#=========================================================================================
$IPTABLES -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Разрешаем доступ к SSH и DNS серверу если INPUT DROP (Не пригодилось)
#=========================================================================================
#$IPTABLES -A INPUT --protocol tcp -i $LAN --dport $SSH -j ACCEPT
#$IPTABLES -A INPUT --protocol tcp -i $LAN --dport $DNS -j ACCEPT
#$IPTABLES -A INPUT --protocol udp -i $LAN --dport $DNS -j ACCEPT

# Разрешаем доступ к HTTP и HTTPS серверу если INPUT DROP (Не пригодилось)
#=========================================================================================
#$IPTABLES -A INPUT --protocol tcp -i $LAN --dport $HTTP -j ACCEPT
#$IPTABLES -A INPUT --protocol tcp -i $LAN --dport $SQUID -j ACCEPT

# Заворачиваем SQUID
#=========================================================================================
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport $HTTP -j REDIRECT --to-port $SQUIDH
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport $HTTPS -j REDIRECT --to-port $SQUIDS

# Смотрим что мы натворили
#=========================================================================================
$IPTABLES -L -n -t nat -v

Если в качестве шлюза используется маршрутизатор, то на нем перенаправляем порты 80 и 443 на сервер где стоит SQUID

на порты 3128 и 3129 соответственно
В таком случае правила «Заворачиваем SQUID» для iptables ненужны.

После сохранения изменений обеспечим для файла права на исполнение:

# chmod +x /etc/nat

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

ранее файл interfaces:

vi /etc/network/interfaces

и добавим в самый низ строку:

post-up /etc/nat

Перезагрузим сервер для автоматического применения новых настроек:

reboot
6.1 установим vsftpdFTP
Скрытый текст
установим vsftpd

# apt-get install vsftpd

некоторые настройки

# vi /etc/vsftpd.conf
listen=YES # Включаем слушание демоном всех интерфейсов
anonymous_enable=NO # Явно отключаем доступ для анонимных пользователей
local_enable=YES # Разрешить доступ локальным пользователям
write_enable=YES # Разрешить писать локальным пользователям
local_umask=002 # Маска файлов/папок при создании
dirmessage_enable=NO # Отключаем сообщения в папках
use_localtime=YES # Использовать локальное время сервера (актуально для логирования)
xferlog_enable=YES # Включаем логирование
connect_from_port_20=YES # Разрешаем доступ по 20-ому порту
data_connection_timeout=600 # Таймаут соединения
#chroot_local_user=YES # Чрутить локальных пользователей (запираем в домашнем каталоге)
#chroot_list_enable=YES # Включаем чрут-лист
chroot_list_file=/etc/vsftpd/vsftpd_users # Расположение чрут-листа
secure_chroot_dir=/var/run/vsftpd/empty # Имя пустого каталога без возможности записи для пользователя ftp
user_config_dir=/etc/vsftpd # Директория с конфигами для пользователей
pam_service_name=vsftpd # Указываем имя PAM сервиса для vsftpd
999.Help Тут некие пригодившиеся вещи….
Скрытый текст
Установка Часового пояса

# dpkg-reconfigure tzdata

Обновления системы безопасности (при наличии уведомления об этом)

# apt-get dist-upgrade

Добавить комментарий