Stunnel 错误将 pop3s 绑定到 0.0.0.0:110

Stunnel 错误将 pop3s 绑定到 0.0.0.0:110

我正在设置隧道因此未启用 SSL 的应用程序可以访问 Gmail / Google Apps 帐户。这是我使用的配置:

CLIENT=YES

[pop3s]
accept = 110
connect = pop.gmail.com:995

[imaps]
accept = 143
connect = imap.gmail.com:993

[ssmtp]
accept = 25
connect = smtp.gmail.com:465

我已经生成了 .pem 文件,但是它失败了并记录了以下错误:

Clients allowed=125
stunnel 4.50 on x86_64-apple-darwin11.2.0 platform
Compiled/running with OpenSSL 0.9.8r 8 Feb 2011
Threading:PTHREAD SSL:ENGINE Auth:none Sockets:SELECT,IPv6
Reading configuration from file ./tools/stunnel.conf
Snagged 64 random bytes from /Users/synergist/.rnd
Wrote 1024 new random bytes to /Users/synergist/.rnd
PRNG seeded successfully
Initializing SSL context for service pop3s
Insecure file permissions on stunnel.pem
Certificate: stunnel.pem
Certificate loaded
Key file: stunnel.pem
Private key loaded
SSL options set: 0x01000004
SSL context initialized
Initializing SSL context for service imaps
Insecure file permissions on stunnel.pem
Certificate: stunnel.pem
Certificate loaded
Key file: stunnel.pem
Private key loaded
SSL options set: 0x01000004
SSL context initialized
Initializing SSL context for service ssmtp
Insecure file permissions on stunnel.pem
Certificate: stunnel.pem
Certificate loaded
Key file: stunnel.pem
Private key loaded
SSL options set: 0x01000004
SSL context initialized
Configuration successful
Option SO_REUSEADDR set on accept socket
Error binding pop3s to 0.0.0.0:110
bind: Permission denied (13)
Service pop3s closed FD=5
str_stats: 168 block(s), 8340 data byte(s), 8400 control byte(s)

为什么 stunnel 不能绑定到 110?是否有东西已经绑定到 110?如果是,我该如何找出它是什么?

更新:我已经使用 sudo 运行了 stunnel,有没有办法让它在不使用 sudo 的情况下运行?

答案1

正如您在更新中所述,以下输出告诉您:

Error binding pop3s to 0.0.0.0:110
bind: Permission denied (13)

您需要提升权限才能将服务绑定到端口。我认为非 root 用户只能将服务绑定到 1024 以上的端口,而 0-1024 是为 root 保留的。

至于你关于找出哪个服务正在监听端口的问题,使用以下命令进行检查lsoflsof -i tcp:110。如果您的服务器上未安装 lsof,也可以使用 netstat,但效率稍低(例如,netstat -an|grep -i listen要显示所有“监听”进程,还需要添加另一个进程grep ':110'进行过滤)。

答案2

如果没有 root 权限,则无法绑定到 <= 1024 的端口,这是出于安全考虑。如果您将端口设置为 > 1024,则应该没问题。

相关内容