воскресенье, 20 мая 2018 г.

socks proxy on centos 7

0. yum install gcc pam-devel tcp_wrappers-devel

1. yum install http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

2. yum --enablerepo=gf-plus install dante-server

3. systemctl enable sockd.service

4. mkdir /var/run/sockd

5. cp /etc/sockd.conf /etc/sockd.conf.orig

6. vi /etc/sockd.conf


# the server will log both via syslog, to stdout and to /var/log/sockd.log                                                                                                                                
logoutput: syslog stdout /var/log/sockd.log
logoutput: stderr

# The server will bind to the address 10.1.1.1, port 1080 and will only                                                                                                                                   
# accept connections going to that address.                                                                                                                                                               
#internal: 10.1.1.1 port = 1080                                                                                                                                                                           
# Alternatively, the interface name can be used instead of the address.                                                                                                                                   
internal: eth0 port = 80

# all outgoing connections from the server will use the IP address                                                                                                                                        
# 195.168.1.1                                                                                                                                                                                             
#external: 192.168.1.1                                                                                                                                                                                    
external: eth0

# list over acceptable authentication methods, order of preference.                                                                                                                                       
# An authentication method not set here will never be selected.                                                                                                                                           
#                                                                                                                                                                                                         
# If the socksmethod field is not set in a rule, the global                                                                                                                                               
# socksmethod is filled in for that rule.                                                                                                                                                                 
#                                                                                                                                                                                                         

# methods for socks-rules.                                                                                                                                                                                
socksmethod: username

#                                                                                                                                                                                                         
# User identities, an important section.                                                                                                                                                                  
#                                                                                                                                                                                                         

# when doing something that can require privilege, it will use the                                                                                                                                        
# userid "sockd".                                                                                                                                                                                         
user.privileged: root

# when running as usual, it will use the unprivileged userid of "sockd".                                                                                                                                  

user.unprivileged: nobody

client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}

client block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}

socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}

socks block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error

}


7. sudo useradd -s /bin/false proxyuser

8. sudo passwd proxyuser

9. systemctl start sockd.service