最近在linux下遇到的与端口相关的两个问题:
一、Linux 下普通用户无法使用1024以下的端口
Linux下部署tomcat时发现程序无法启用,检查后台日志发现下述错误。
Catalina.start: LifecycleException: null.open: java.net.BindException: Permission denied:80
检查server.xml发现使用了80端口。改为8080后正常。
connectionTimeout="20000"
maxKeepAliveRequests="1000"
maxThreads="1000"
redirectPort="8443" />
二、端口映射某ape程序需要将默认的8080端口映射为80端口
以root用户登录
1.修改/etc/sysctl.cnf
a).备份sysctl.cnf
cp /etc/sysctl.cnf /etc/sysctl.cnf_bak
b).修改net.ipv4.ip_forward默认值为1
net.ipv4.ip_forward = 1
2.重新加载sysctl
sysctl -p
3.映射8080端口为80端口
iptables -t nat -A PREROUTING -j REDIRECT -p tcp --destination-port 80:80 --to-ports 8080
如果映射不成功,检查防火墙设置。如防火墙是否打开,或是否开启了80、8080端口。
防火墙状态: service iptables status
iptables -L -n