Понадобился простой прокси сервер для выхода в интернет через работу.
Нужно было проверять как доступны сайты с рабочих 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: