PopTop Installation IMHO
Предыстория
Все началось с того что требовалось организовать доступ к внутренней сети, стандартными средствами windows ( 98 % у меня с собой ноут ) например из интернет-кафе, OpenVPN мне не подходил(конечно можно таскать флешку с дистрибутивом и сертификатом НО!!)
Так как внятно ответить как поставить данное чудо(POPTOP) на Asus Wl500gp не кто не мог, а в русском форуме больше вопросов, чем ответов, пришлось разбирается самому (а в Linux я практически ноль).
Сразу предупреждаю что работает POPTOP на прошивки Олега 1.9.2.7.-10 и Чешской не стабильно, вернее стабильно с 4-5 попытке, но не отваливается. Причина такого не стабильного поведения старый модули IPTABLES.
На прошивки lly & TheMiron все прекрасно работает проверялось на R160 и R191, за что им огромное спасибо.
Исходные данные
Локальная сеть-192.168.40.240/28
Настройки DHCP- 192.168.40.242-247
Сервер (wl500gp)-192.168.40.241
Настройки VPN
VPN сервер -192.168.40.250
VPN клиенты-192.168.40.251-253
Для облегчения всего процесса установки написал скрипт который привожу ниже, те кто хочет, может вводить руками ( первый раз даже желательно!!!). Для установки нам понадобится чистая флешка. Скопируйте файлы на чистую флешку и в телнете выполните следующую команду
Code:
chmod +x /tmp/mnt/disc0/install-poptop
/tmp/mnt/disc0/install-poptop
Вот сам скрипт
Code:
#!/bin/sh
# Измените красный текс на свои параметры
# Change the red text in your settings
# Создаем директорию куда все будем ставить
# Create istall directory
mkdir /tmp/local/opt
# Монтируем ее в /opt
# Mount it in / opt
mount /tmp/local/opt /opt
# Обновляем список доступных для установки пакетов
# update a list of available packages for installation
ipkg.sh update
# Устанавливаем установщик пакетов ipkg
# Install the installer package ipkg
ipkg.sh install ipkg-opt
# Обновляем список доступных для установки пакетов
# Refreshes the list of available packages for installation
ipkg update
# ставим poptop
# install poptop
ipkg install poptop
# создаем директорию Var, чтоб в логах не ругался на ее отсутствие
# Make a directory Var
mkdir /opt/var/
mkdir /opt/var/run/
# Комментируем не нужное
# Comment is not correct
sed -i 's/logwtmp/# logwtmp/g' /opt/etc/pptpd.conf
# Добавляем IP VPN сервера и сети
# Add IP VPN server, and VPN network
echo "localip 192.168.40.250
remoteip 192.168.40.251-253" >> /opt/etc/pptpd.conf
# Добавляем данные в options.pptpd
# Add data in the options.pptpd
sed -i '67 a\ms-dns 192.168.40.241' /opt/etc/ppp/options.pptpd
echo "
novj
novjccomp
# Disable change default route
nodefaultroute" >> /opt/etc/ppp/options.pptpd
# Добавляем данные /tmp/ppp/chap-secrets
# * означает присваение доступного IP адреса из доступного диапозона
# add data / tmp / ppp / chap-secrets
# * Available from the VPN IP address range
echo "# PPP CHAP secrets file.
# See pppd(1) for file format.
# Secrets for authentication using CHAP
# client server secret IP addresses
test pptpd "test" *
# For ppp patched with smbauth you use
# * pptpd &/etc/samba/smbpasswd" > /tmp/ppp/chap-secrets
chmod go-rw /tmp/ppp/chap-secrets
# Создаем директорию для пользовательских скриптов
# Create a directory for user scripts
mkdir /usr/local/sbin
# Создаем файл post-boot для запуска poptop сервера
# Делаем симлинк на chap-secret
# Create a file post-boot to start the poptop server
# Make symlink to the chap-secret
echo "#!/bin/sh
mount /tmp/local/opt /opt
/opt/etc/init.d/S20poptop start
ln -s /tmp/ppp/chap-secrets /opt/etc/ppp/" > /usr/local/sbin/post-boot
# Создаем post-firewall с параметрами poptop
# Create a post-firewall, with settings poptop
echo "#!/bin/sh
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 1723 -j ACCEPT
iptables -I OUTPUT -p 47 -j ACCEPT
iptables -I INPUT -p 47 -j ACCEPT
iptables -I INPUT -i ppp+ -j ACCEPT
iptables -I FORWARD -i ppp+ -j ACCEPT
iptables -I FORWARD -o ppp+ -j ACCEPT
iptables -I OUTPUT -o ppp+ -j ACCEPT" > /usr/local/sbin/post-firewall
# Делаем файлы /usr/local/sbin/ исполняемыми
# Do the all scrips executable
chmod +x /usr/local/sbin/*
# Cохранять во флэш скрипты
# Saves in flash scripts
echo "/usr/local/sbin/post-firewall
/usr/local/sbin/post-boot
/tmp/ppp/chap-secrets" > /usr/local/.files
# сохраняем все
# Seved all
flashfs save
flashfs commit
flashfs enable
reboot
Прошу не глядя не устанавливать по даному скрипту не изменив настройки под Ваши параметры. ДА еще в скрипте есть ОШИБКИ КТО НАЙДЕТ !!!???