非root用户程序使用低于1024端口的方法


方法1:端口映射
端口转发:
iptables -t nat -A PREROUTING -p tcp --dport 123 -i eth1 -j REDIRECT --to-port 8010
将访问的123的流量转发道8010端口上来。
由于普通用户只能注册使用1024以下的端口,配置低端口,程序会无法启动。
这里可以用iptables的端口转发来将低端口的流量转发到程序监听的高端口上来。
iptables命令:iptables -t nat -A PREROUTING -p tcp --dport <低端口> -i eth0 -j REDIRECT --to-port <原先监听的高端口>
rinetd程序
ipchans -I input --proto TCP --dport <低端口> -j REDIRECT <高端口>

方法2:改程序的sid
修改程序的权限,例如chmod 7755 ...

方法3:修改内核

修改内核的make_sock相关部分