ubuntu默认提供了一个基于iptable之上的防火墙工具ufw
开放-关闭端口
sudo ufw allow 22 //开放22端口
开启完成,需要重启防火墙生效:
sudo ufw reload //重启ufw防火墙
重启成功
再查看防火墙的状态:
sudo ufw status
其他命令
开启/关闭防火墙:
ufw enable|disable
####################################
启用
sudo ufw enable
sudo ufw default deny
开启防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。
开启/禁用
sudo ufw allow|deny [service]
打开或关闭某个端口,例如:
sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp 禁止外部访问smtp服务
sudo ufw delete allow smtp 删除上面建立的某条规则
详见:ubuntu防火墙ufw使用教程 - zqifa - 博客园 (cnblogs.com)
查看端口占用情况
#1.查找被占用的端口
#Notes:netstat -tln 查看所有被监听端口的使用情况,netstat -tln | grep 80 只查看80端口的使用情况
netstat -tln
netstat -tln | grep 80
#查看指定端口被那个进程占用
sudo lsof -i:端口号
#杀掉占用80端口的进程
kill -9 进程id
1.查看程序占用那些端口
netstat -tlunp | head
2.根据程序的名称定位占用的端口
netstat -tlunp | grep java
3.定位80端口具体跑的程序
ps -p 80 -f
4.根据3中程序的名称定位程序文件
find . -name ""