Понадобился простой прокси сервер для выхода в интернет через работу.
Нужно было проверять как доступны сайты с рабочих ip адресов.
В качестве простого решения хорошо подходит Dante, его и будем использовать.
Ставить будем из исходников т.к. для Centos6 есть только rpm версии 1.4.0.
Скачиваем свежую версию - https://www.inet.no/dante/download.html
wget https://www.inet.no/dante/files/dante-1.4.2.tar.gz
Распаковываем.
tar -zxvf dante-1.4.2.tar.gz
Устанавливаем.
cd dante-1.4.2 ./configure make make install
Конфигурационный файл /etc/sockd.conf
[root@noc14 etc]# cat /etc/sockd.conf
logoutput: stderr
internal: eth1 port = 11223
external: eth2
socksmethod: username
user.privileged: root
user.unprivileged: nobody
client pass {
from: 0/0 to: 0/0
log: error
}
socks pass {
from: 0/0 to: 0/0
log: error
}
где:
Init файл /etc/init.d/sockd.
#!/bin/bash
### BEGIN INIT INFO
# Provides: sockd
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the sockd sockd5 server
# Description: starts sockd using start-stop-daemon
### END INIT INFO
NAME=sockd
SOCKED_BIN=/usr/local/sbin/sockd
CONFIGFILE=/etc/sockd.conf
SCRIPTNAME=/etc/init.d/$NAME
case "$1" in
start)
echo -n "Starting $NAME...."
if netstat -tnpl | grep -q sockd;then
echo "$NAME (pid `pidof $NAME`) already running."
exit 1
fi
$SOCKED_BIN -f $CONFIGFILE -D
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
stop)
echo -n "Stoping $NAME..."
if ! netstat -tnpl | grep -q sockd; then
echo "$NAME is not running."
exit 1
fi
/usr/bin/pkill $NAME
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
status)
if netstat -tnpl | grep -q sockd; then
PID=`pidof sockd`
echo "$NAME (pid $PID) is running..."
else
echo "$NAME is stopped"
exit 0
fi
;;
restart)
$SCRIPTNAME stop
sleep 1
$SCRIPTNAME start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|status}"
exit 1
;;
esac
Делаем /etc/init.d/sockd исполняемым.
chmod +x /etc/init.d/sockd
Запускаем.
/etc/init.d/sockd start /etc/init.d/sockd status
Включаем автозагрузку.
chkconfig --add sockd chkconfig --level 2345 sockd on chkconfig --list sockd
Добавляем iptables правила.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 11223 -s x.x.x.x/y -j ACCEPT
Заводим пользователя для работы с прокси.
useradd -M -s /sbin/nologin proxyuser passwd proxyuser
Для подключения к прокси я в Firefox использую плагин FoxyProxy.
Настройки FoxyProxy: