Archive for category Linux

Как NATить FTP в Iptables

Есть локальная сеть компьютеры которой вылазят в инте через сервер с Линуксом.
Необходимо средствами iptables разрешить доступ компьютерам локальной сети к ФТП серверам в интернете.
Для этого добавим в файл /etc/sysconfig/iptables правила:
#FTP
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp –dport 21 -j ACCEPT
Теперь в таблице NAT нужно добавить правило (в файле /etc/sysconfig/iptables после строки *nat):
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -p [...]

Установка и настройка VPN Server в CentOS 5.4

Инсталлируем репозиторий содержащий pptpd
rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm
Далее ставим сам пакет vpn сервера
yum -y install pptpd
В файле /etc/pptpd.conf пропишем локальный айпи адрес сервера и диапозон для раздачи адресов впн клиентам
localip 192.168.3.1
remoteip 192.168.3.150-245
Далее в файле /etc/ppp/options.pptpd пропишем днс сервер (локальный)
ms-dns 192.168.10.1
Заведем пользователя для впн подключения
vpnuser add login password
После этого в файле /etc/ppp/chap-secrets должен появиться пользователь с логином login и [...]

Подсчет и ограничение трафика Squid

Появилась задача считать трафик проходящий через Squid и рубить доступ пользователя к интернету, если лимит будет привышен. Для данных целей я решил попробовать SAMS (Squid Account Management System)
Перед установкой SAMS необходимо убедиться, что у нас в системе установлены и настроены следующие пакеты программ:
- MySQL server
- MySQL client
- файлы заголовков библиотек MySQL (mysql-devel-*.rpm)
- Apache http server
- [...]

Squid архивирует логи

По умолчанию, в CentOS, Squid архивирует свои логи раз в неделю и начинает писать их заного. Используя InternetAccessMonitor на машине клиента это очень неудобная фича, так как мне нужно смотреть статистику за месяц (не за неделю)
Чтобы squid не обновлял свои логи, необходимо отключить rotate логов. Смотреть в сторону еженедельных заданий крона.

NTFS и CentOS

Из-за условий лицензии, CentOS не держит ntfs разделы «из коробки»
Чтобы исправить данную ошибку, можно поступить следующим образом:
Сначала поставить fuse, fuse-devel, fuse-libs (будут неудовлетворенные зависимости, если не ставить) а затем и сам драйвер fuse-ntfs-3g После этого разделы можно монтировать, в том числе и в режиме rw.
mount -t ntfs-3g /dev/sda2 /mnt/ntfs
Но не в CentOS 5.3, как оказалось. [...]

Samba не пускает в шару

Опять таки CentOS 5.3 Опять столкнулся с траблом…
Поднял самба сервер, удалил шары, которые самба сделала сама по умолчанию и создал директорию которая нужна мне  - /var/public
Все бы хорошо, но при заходе на сервер, данную папку видно, но зайти в нее нельзя. Отказано в доступе. Права на папку поставил 777 проблема не ушла. Долго игрался с [...]

Репликация файлов в Linux

Появилась задача среплицировать файлы на машине из каталога в каталог. В данном случае можно воспользоваться командой rsync
rsync -av /var/log/squid/ /var/proxy-log – копирует все файлы из директории /var/log/squid в директорию /var/proxy-log и ставит на папку /var/proxy-log те же права доступа, что и на папке /var/log/squid/
rsync -t /var/log/squid/access.log /var/proxy-log – делает тоже самое, только без копирования прав [...]

Как запустить *.sh скрипт

Запуск *.sh скриптов – ./name.sh
Если не стоит исполняемый бит, необходимо его поставить chmod +x name.sh

Как распаковать tar.gz и tar.bz2 архивы

tar.gz – tar xvfz *.tar.gz
tar.bz2- tar xvjf *.tar.bz2
x – позволяет вам извлекать файлы из архива.
v – делает вывод tar подробным. Это означает, что на экран будут выведены все найденные в архиве файлы. Если эта опция опущена, информация, выводимая в процессе обработки, будет ограничена.
f – является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо [...]

Перенаправление ввода-вывода программ

Обычно команда читает исходные данные с клавиатуры (стандартный ввод) и выдает данные на экран (стандартный вывод). Часто надо это поменять. Например, чтобы отправить письмо, хранящееся в каком-то файле надо набрать.
mail адрес_получателя < имя_файла_с_письмом
Это очень удобно. Если вы хотите сохранить список файлов из какого-то каталога в файле, надо сказать:
ls параметры > имя_файла_для_записи_списка_файлов
Теперь подведем итоги.
Знак > заставляет [...]

Конфигурация сетевого интерфейса Linux

Установка статического ip адреса
ifconfig eth0 down
ifconfig eth0 inet 192.168.10.1 netmask 255.255.255.0
ifconfig eth0 up
В конфиге сетевой карты необходимо прописать строку BOOTPROTO=static или BOOTPROTO=NONE. Конфиг лежит /etc/sysconfig/network-scripts/ifcfg-eth0 Иначе после перезагрузки статический адрес уберется и назначится адрес через dhcp
Если необходимо, можно в конфиге сетевой карты прописать и днс сервер таким образом:
DNS1=xxx.xxx.xxx.xxx
DNS2=xxx.xxx.xxx.xxx
Чтобы прописать шлюз, необходимо дать команду:
route add default [...]

Создание основного шлюза по умолчанию в CentOS

Наткнулся на странный баг в CentOS. Если вручную прописать шлюз пол умолчанию
route add default gw 192.168.100.1
после перезагрузки данного маршрута не будет, соотвественно шлюза у нас нет. Для того, чтобы после перезагрузки он не пропадал необходимо сделать следующее:

Если шлюз для всех интерфейсов один, то в  файле /etc/sysconfig/network пишем GATEWAY=xxx.xxx.xxx.xxx и получаем нечто вроде
[root@cent sysconfig]#
NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.100.1
HOSTNAME=cent.os
Если шлюз необходимо [...]

Создание дополнительных статических маршрутов Linux

идём в
/etc/sysconfig/
и создаём чистый файл
static-routes
открываем его и пишем (синтаксис очень важный)
# add routes via eth1
any net 192.168.250.0/26 gw 192.168.200.1
any net 77.82.0.0/16 gw 192.168.200.1
any net 85.28.192.0/18 gw 192.168.200.1
any host 91.189.232.3/32 gw 192.168.200.1
any host 91.189.232.7/32 gw 192.168.200.1
———-
теперь описываю
слово any – служебное…если оно есть, маршрут будет загружен системой, нету…проигнорирует
ну а дальше синтаксис обычный

Полезные команды Linux

1. Использование Yum для установки локального пакета, автоматически проверяя и удовлетворяя зависимости
yum –nogpgcheck localinstall packagename.arch.rpm
2. Просмотр устройств подключенных к USB – пишем в консоли lsusb > lsusb.txt
3. Просмотр устройств подключенных к ISA/PCI, пишем lspci > lspci.txt
4. Создание rpm пакетов из tar.gz
% rpmbuild -ta kwave-XXX.tar.gz
% rpm -i /usr/src/redhat/RPMS/[arch]/kwave-XXX.[arch].rpm
5. Редактирование уровня запуска службы - chkconfig –level 235 iptables [...]