воскресенье, 28 февраля 2010 г.

Настройка VPN сервера в Ubuntu или Debian

Установим VPN сервер:
Код:
sudo apt-get install pptpd ipx ipxripd

Настройка VPN сервера.
Отредактируйте файл /etc/ppp/pptpd-options

Код:
name pptpd
refuse-pap
refuse-chap
require-mschap
require-mschap-v2
require-mppe-128
ms-dns 10.0.0.1
ms-dns 10.0.0.2
proxyarp
nodefaultroute
lock
nobsdcomp
#IPX (todo)
ipx
ipx-network 4
ipx-node 1:0
ipx-routing 2
ipx-router-name Linux_router
ipxcp-accept-remote


Отредактируйте файл /etc/pptpd.conf

Код:

option /etc/ppp/pptpd-options
logwtmp
localip 172.16.16.1
remoteip 172.16.16.2-254


Теперь можно добавить пользователей, для этого отредактируйте файл /etc/ppp/chap-secrets

Код:
# Secrets for authentication using CHAP
# client server secret IP addresses
heiniken pptpd vladimir "*"


Мы добавили пользователя heiniken с паролем vladimir и с возможностью доступа с любого ip адреса.
Если хотите с определённого адреса то вместо * впишите ип адрес.

Перезапускаем VPN сервер

Код:
/etc/init.d/pptpd restart

На этом настройка VPN сервера закончена, осталось настроить фаервол и форвардинг пакетов.

Настройка фаервола

Создадим простой скрипт фаервола в домашней директории /home:

Код:
touch /home/vpn-firewall.sh
chmod +X /home/vpn-firewall.sh
gedit /home/vpn-firewall.sh


В открывшемся окне впишите:

#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
iptables --flush
iptables --delete-chain
iptables --table nat --flush
iptables --table nat --delete-chain
iptables -P FORWARD ACCEPT
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables --table nat --append POSTROUTING --out-interface ИМЯ ВАШЕГО ИСХОДЯЩЕГО ИНТЕРФЕЙСА например eth0 -j MASQUERADE
echo vpn firewall loaded OK.


Пропишите этот скрипт в автозагрузку отредактировав файл /etc/rc.local
Должно получится следующее:

Код:

#!/bin/sh -e
/home/vpn-firewall.sh
exit 0

Запустите скрипт фаервола, он должен написать ”vpn firewall loaded OK.”

Код:
/home/vpn-firewall.sh

На этом настройка закончена, можете настраивать windows клиенты, никаких особенных параметров не требуется, просто создаете подключение vpn с адресом вашего сервера, на вкладке ”Безопасность” нужно снять галочку с пункта ”Требуется шифрование данных (иначе отключаться)”, а так же логином и паролем которые вы вписали в конфигурационный файл.

воскресенье, 14 февраля 2010 г.

Восстановление grub в Ubuntu после установки Windows

Для восстановления Grub нам понадобится диск, с которого вы ставили Ubuntu, чтобы зайти в режим LiveCD.
Загрузились, открыли терминал и выполняем следующую команду:
sudo grub
Мы зашли в программу работы с grub, все последующие действия будем выполнять здесь.

Для начала выполним команду:
find /boot/grub/stage2
Обратите внимание на значение, которое выдаст результат команды.

У меня это (hd0,5), но у вас может быть и что-нибудь другое.
В следующих командах подставляем ваше значение вместо (hd0,5) !
Выполняем команду:
root (hd0,5)
Обратите особое внимание на то, что после root идет пробел, а потом никаких пробелов нет.

Ну и последняя команда:
setup (hd0)
После setup идет пробел, потом пробелов нет. На этот раз вместо (hd0,5) пишем только первую часть: (hd0)! Естественно, подставляем то значение, которое вы получили после команды find.
Вот собственно и все. Можно перегружаться. Все легко и просто.

четверг, 4 февраля 2010 г.

Шлюз для 2-х сетевых Ubuntu

Схема такая. Сетевая eth0 тянет Интернет с роутера, eth1 - идет в локалку. В локальной сети у машинки ip 192.168.2.0

Ставим DHCP - сервер

sudo apt-get install dhcp3-server

После чего правим конфиг /etc/dhcp3/dhcp.conf я привел его вот к такому виду
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.2; #getway
option subnet-mask 255.255.255.0; #маска
option domain-name-servers 192.168.1.1; #DNS-сервера
range 192.168.2.11 192.168.2.100; # Диапазон ip адресов
default-lease-time 21600;
max-lease-time 28800;
}

затем правим файл /etc/default/dhcp3-server вписывая в него строку
INTERFACES=eth1
для того, что бы сервер «слушал» именно этот интерфейс
После чего можем запустить сервер
sudo /etc/init.d/dhcp3-server start
Для “раздачи” интернет во внутреннюю сеть используем IP маскарадинг (IPMASQUARADE)
В сокращенном виде (без комментариев и не функциональных выводов сообщений) скрипт выглядит так:
#!/bin/sh
# полная версия находится здесь: lafox.net/docs/masq/
IPTABLES=/sbin/iptables
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe
EXTIF="eth0"
INTIF="eth1"
$DEPMOD -a
$MODPROBE ip_tables
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_conntrack_irc
$MODPROBE iptable_nat
$MODPROBE ip_nat_ftp
$MODPROBE ip_nat_irc
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
echo -e "done.\n"

Сохраним это в файлик в /etc/profile.d и назовем его, к примеру masq.sh.
Делаем его исполняемым и выполняем
sudo chmod +x /etc/profile.d/masq.sh
sudo sh /etc/profile.d/masq.sh

После этих действий нужно «опустить» а потом снова «поднять» сетевой интерфейс eth1
sudo ifonfig eth1 down
sudo ifonfig eth1 up

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

Установка и настройка SSH сервера на Ubuntu

To install openssh server type following command:
$ sudo apt-get install openssh-server
Make sure openssh is running:
$ netstat -tulpn
Output:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp6       0      0 :::22                   :::*                    LISTEN     3458/sshd
Now we will tight openssh security. First change default 22 port to something else like 512. This will avoid automated tools login into your box:

$ sudo su -
# vi /etc/ssh/sshd_config


Find line that read as follows:
Port 22
Replace port 22 with 512:
Port 512
Save and close the file. Restart sshd:
# /etc/init.d/ssh restartOutput:
 * Restarting OpenBSD Secure Shell server... 
Finally make sure you open port 512 using iptables. Type the following command to list current firewall rules:
$ sudo iptables -L -n
Output:
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpts:6881:6882
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:443
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:514
ACCEPT     all  --  192.168.1.100        0.0.0.0/0
ACCEPT     all  --  192.168.1.101        0.0.0.0/0
ACCEPT     all  --  192.168.1.102        0.0.0.0/0
LOG        all  --  0.0.0.0/0            0.0.0.0/0           LOG flags 0 level 4
DROP       all  --  0.0.0.0/0            0.0.0.0/0         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination       

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
Use GUI program such as firestarter to manage and open port 22 (ssh port).
$ sudo firestarter &