将端口80绑定到非root用户。 CentOS的

时间:2012-07-25 08:18:09

标签: linux centos iptables shoutcast

我需要允许端口80访问我的CentOs上的非特权用户。我在我的服务器上运行Shoutcast和Centova Cast来托管音频流。我在过去的几个月里一直使用80端口而没有使用以下的问题......

iptables -A PREROUTING -t nat -p tcp -d 5.10.69.104 --dport 80 -j DNAT --to 10.70.106.130:8000
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.105 --dport 80 -j DNAT --to 10.70.106.130:8002
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.106 --dport 80 -j DNAT --to 10.70.106.130:8004
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.107 --dport 80 -j DNAT --to 10.70.106.130:8006

我目前正在使用列出的最后一个IP地址(5.10.69.107)测试我的新Centova Cast控制面板。我无法使用端口80使用Centova Cast访问我的音频流。其他3个流正在使用root访问权限。

使用此页面上的建议https://secure.centova.com/pages/faqs/display/using_port_80_for_streaming_121我尝试了使用以下

的setcap
     setcap 'cap_net_bind_service=+ep' /home/centovacast/shoutcast/sc_serv
and 

    setcap 'cap_net_bind_service=+ep' /home/centovacast/vhosts/bcr64k/etc/server.conf
and
     setcap 'cap_net_bind_service=+ep' /home/centovacast/system/runascc/castd

没有效果。我错过了什么吗? Centova投放服务器上运行的实际测试过程如下所示。

/ home / centovacast / system / runascc / castd
/ home / centovacast / shoutcast / sc_serv /home/centovacast/vhosts/bcr64k/etc/server.conf

如果工作正常,您应该能够使用5.10.69.107在媒体播放器中听到音乐。它目前适用于5.10.69.104,105和106.所有地址都在同一台服务器上,音频来自同一个源。 任何建议都会有帮助。谢谢 -Bob Swaggerty

1 个答案:

答案 0 :(得分:1)

解决

我需要从Iptables中删除

iptables -A PREROUTING -t nat -p tcp -d 5.10.69.104 --dport 80 -j DNAT --to 10.70.106.130:8000
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.105 --dport 80 -j DNAT --to 10.70.106.130:8002
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.106 --dport 80 -j DNAT --to 10.70.106.130:8004
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.107 --dport 80 -j DNAT --to 10.70.106.130:8006

并替换为

iptables -A PREROUTING -t nat -p tcp -d 5.10.69.104 --dport 80 -j REDIRECT --to-port 8000
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.105 --dport 80 -j REDIRECT --to-port 8002
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.106 --dport 80 -j REDIRECT --to-port 8004
iptables -A PREROUTING -t nat -p tcp -d 5.10.69.107 --dport 80 -j REDIRECT --to-port 8006