安裝
下載安(an)裝(zhuang)包(bao)dante-1.4.3.tar.gz
解壓dante-1.4.3.tar.gz,并進(jin)入源碼目錄進(jin)行(xing)編譯與安(an)裝
#安裝依賴
yum install -y pam-devel
tar -zvxf dante-1.4.3.tar.gz
cd dante-1.4.3
#配置
./configure --prefix=/data/dante
#編譯
make
#安裝
make install
編輯(ji)配置(zhi)文件并創建啟(qi)動用戶(hu)與啟(qi)動腳本
cd /data/dante
#創建啟動用戶
useradd -s /sbin/nologin sock
#創建日志目錄
mkdir log
#編輯配置文件sockd.conf
vi sockd.conf
配置
配置文件內容如下
internal: 172.16.0.14 port = 1000 #ip為當前內網IP
external: 172.16.0.14 #ip為能夠訪問外部的IP,在翼龍預置區環境中兩個IP都是eth0網卡IP,CN2的IP以EIP方式綁定在eth0的IP上
external.rotation: same-same
socksmethod: pam.username
#socksmethod: none
clientmethod: none
user.privileged: root
user.notprivileged: sock
logoutput: /data/dante/log/dante.log
errorlog: /data/dante/log/dante-err.log
client pass {
from: 0/0 to: 0/0
}
socks pass {
from: 0.0.0.0/0 to: 33.1.0.0/16 #to后面跟內網網段
protocol: tcp udp
socksmethod: pam.username
#socksmethod: none
log: connect disconnect error iooperation
}
/data/dante目錄下編輯systemctl啟動(dong)腳本
touch danted.service
ln -s /data/dante/danted.service /usr/lib/systemd/system/danted.service
vi danted.service
編輯(ji)danted.service內容如(ru)下(xia)
[Unit]
Description=SOCKS version 5 proxy daemon (danted)
After=network.target
[Service]
Type=forking
#User=root
#Group=root
ExecStart=/data/dante/sbin/sockd -f /data/dante/sockd.conf -D
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
設置socks5代理賬號(hao)密碼(ma)(ma),使(shi)用pam db管理賬號(hao)密碼(ma)(ma),密碼(ma)(ma)文(wen)件(jian)生成步(bu)驟如下(xia)
1、/data/dante下(xia)編輯密(mi)碼文本passwd.txt如下(xia)一行為用戶名(ming),下(xia)一行為密(mi)碼依次類推
vi /data/dante/passwd.txt
username
Pa$de245c2
運行命令(ling)在(zai)/data/dante目錄下(xia)生成密碼文件sockd.passwd.db并刪除源文件
db_load -T -t hash -f passwd.txt sockd.passwd.db
rm passwd.txt
配置pam指定驗證方(fang)式使用sockd.passwd.db
編輯/etc/pam.d/sockd
vi /etc/pam.d/sockd
內容如下
auth required pam_userdb.so db=/data/dante/sockd.passwd
account required pam_permit.so
配置日志滾動
創建日志(zhi)滾動(dong)轉(zhuan)儲配置文件(jian)/etc/logrotate.d/danted編(bian)輯文件(jian)內容如(ru)下(xia)
/data/dante/log/*.log {
daily
size 10M
rotate 30
dateext
compress
missingok
notifempty
postrotate
systemctl reload danted
endscript
}
啟動dante服務
systemctl enable danted.service
systemctl start danted.service
systemctl status danted.service