要将 Docker Clash 变成网关服务器,可以按照以下步骤操作:

  1. 在 Docker 中创建一个新的网络,例如:
docker network create mynetwork
  1. 启动 Docker Clash 容器,并将其连接到该网络:
docker run -d --name clash --network mynetwork haishanh/clash
  1. 创建一个新的容器,作为网关服务器。在该容器中,需要启用 IP 转发和 Masquerade,以便将流量从 Docker Clash 路由到主机网络中:
docker run --name gateway --network mynetwork --privileged -d \
	-e CLASH_SERVER='clash:7890' \
	-e GATEWAY_SUBNET='10.0.0.0/24' \
	-e GATEWAY_DEFAULT_IP='10.0.0.1' \
	-e GATEWAY_NAT=true \
	-p 80:80 \
	-p 443:443 \
	-p 8080:8080 \
	-p 8443:8443 \
	-p 3128:3128 \
	-p 8888:8888 \
	-p 1080:1080 \
	-p 1081:1081 \
	haishanh/gateway

其中,CLASH_SERVER 是 Docker Clash 的地址和端口,GATEWAY_SUBNET 是网关服务器的子网,GATEWAY_DEFAULT_IP 是网关服务器的 IP 地址,GATEWAY_NAT 表示是否启用 Masquerade 功能。

  1. 现在,可以将主机中所有的流量路由到网关服务器,以便使用 Docker Clash 进行代理:
sudo iptables -t nat -A PREROUTING -p tcp -j DNAT --to-destination 10.0.0.1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

其中,eth0 是主机的网络接口名称。

这样,Docker Clash 就可以作为网关服务器使用了。注意,这种方法可能会影响主机的网络性能,因此需要谨慎使用。


原文地址: https://www.cveoy.top/t/topic/nK8S 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录