在Linux上设置代理服务器前,首先需要确定您需要的代理类型:
安装:
# Debian/Ubuntu
sudo apt-get install squid
# RHEL/CentOS
sudo yum install squid
基本配置:
配置文件通常位于 /etc/squid/squid.conf
# 允许本地网络访问
acl localnet src 192.168.1.0/24
http_access allow localnet
# 设置监听端口
http_port 3128
# 禁止所有其他访问
http_access deny all
启动服务:
sudo systemctl start squid
sudo systemctl enable squid
安装:
# Debian/Ubuntu
sudo apt-get install tinyproxy
# RHEL/CentOS
sudo yum install tinyproxy
配置:
编辑 /etc/tinyproxy/tinyproxy.conf
Port 8888
Allow 127.0.0.1
Allow 192.168.1.0/24
启动服务:
sudo systemctl start tinyproxy
sudo systemctl enable tinyproxy
安装:
# Debian/Ubuntu
sudo apt-get install dante-server
# RHEL/CentOS
sudo yum install dante
配置:
编辑 /etc/danted.conf
logoutput: /var/log/danted.log
internal: eth0 port = 1080
external: eth0
method: username none
user.privileged: proxy
user.notprivileged: nobody
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect
}
pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bind connect udpassociate
log: connect disconnect
}
启动服务:
sudo systemctl start danted
sudo systemctl enable danted
# 临时设置
export http_proxy="http://proxy-server:3128"
export https_proxy="http://proxy-server:3128"
export ftp_proxy="http://proxy-server:3128"
export no_proxy="localhost,127.0.0.1,192.168.1.0/24"
# 永久设置(添加到 ~/.bashrc 或 /etc/environment)
echo 'export http_proxy="http://proxy-server:3128"' >> ~/.bashrc
echo 'export https_proxy="http://proxy-server:3128"' >> ~/.bashrc
source ~/.bashrc
# 创建或编辑配置文件
sudo nano /etc/apt/apt.conf.d/proxy.conf
# 添加以下内容
Acquire::http::Proxy "http://proxy-server:3128";
Acquire::https::Proxy "http://proxy-server:3128";
# 编辑 ~/.wgetrc
echo 'http_proxy = http://proxy-server:3128' >> ~/.wgetrc
echo 'https_proxy = http://proxy-server:3128' >> ~/.wgetrc
git config --global http.proxy http://proxy-server:3128
git config --global https.proxy http://proxy-server:3128
# 创建密码文件
sudo htpasswd -c /etc/squid/passwords proxyuser
# 修改squid配置
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
# 限制访问时间
acl workhours time MTWHF 09:00-17:00
http_access allow workhours
# 限制目标网站
acl good_sites dstdomain .example.com .example.org
http_access allow good_sites
# 设置缓存目录
cache_dir ufs /var/spool/squid 100 16 256
# 缓存大小限制
maximum_object_size 256 MB
minimum_object_size 0 KB
检查服务状态:
sudo systemctl status squid
sudo journalctl -u squid
检查日志:
tail -f /var/log/squid/access.log
tail -f /var/log/squid/cache.log
测试连接:
curl -x http://proxy-server:3128 http://example.com
检查端口:
sudo netstat -tulnp | grep 3128
通过以上步骤,您可以在Linux系统上成功设置并配置各种类型的代理服务器。根据您的具体需求选择适合的代理软件和配置方式。