1. 在服务器用python打开服务
通过python可以在服务器构建简易的网址并且访问它。
对于python2,这里打开的端口为服务器的8081端口,服务器的IP为192.168.120.51
python2 -m SimpleHTTPServer 8081
对于python3:
python3 -m http.server 8081
2. 在本地浏览器打开
在本地浏览器打开网址访问, 例如 192.168.120.51:8081 访问网址。当打开服务时,默认的是打开运行的目录,如果有index.html,则访问该文件,如果没有则访问当前目录。
3. 问题排查
在本地浏览器打开网址访问,显示相应时间过长,无法打开网站。
使用 nc -v 地址 端口号 连接服务器,返回: No route to host. 说明在外面不能范围端口
nc -v 192.168.120.51 8081
#Ncat: Version 6.40 ( http://nmap.org/ncat )
#Ncat: No route to host.
也可以用curl查看
curl 192.168.120.51:8081
#curl: (7) Failed to connect to 192.168.120.51 port 8081: No route to host
查看防火墙已经开放的端口
firewall-cmd --list-all
在防火墙开放端口(需要root权限):
#Usage
firewall-cmd --zone=public --add-port=端口/tcp --permanent
#for open 8081
firewall-cmd --zone=public --add-port=8081/tcp --permanent
如果需要关闭防火墙开放端口(需要root权限):
firewall-cmd --permanent --remove-port=6000/tcp
重启防火墙:
systemctl restart firewalld
再尝试连接,便可以连上
nc -v 192.168.120.51 8081
#Ncat: Version 6.40 ( http://nmap.org/ncat )
#Ncat: Connected to 192.168.120.51:8081.
curl 192.168.120.51:8081
#可以打开html <!DOCTYPE html>
4. iptables 进行IP地址的屏蔽和开启
以下命令将丢弃来自 IP 地址 1.2.3.4 的任何数据包:
iptables -I INPUT -s { IP-HERE } -j DROP
iptables -I INPUT -s 1.2.3.4 -j DROP
指定端口的屏蔽
iptables -I INPUT -p tcp -s 1.2.3.4 --dport 8082 -j DROP
如何删除被屏蔽的IP地址
- 4.1 查看被屏蔽的IP
iptables -L INPUT -n --line-numbers
- 4.2 删除对应的行
iptables -D INPUT {number}
- 4.3 一步命令完成
iptables -D INPUT -s 1.2.3.4 -j DROP
https://www.cyberciti.biz/faq/linux-iptables-drop/
5. 参考网址
- No route to host: https://blog.csdn.net/zhouguoqionghai/article/details/80843922
- linux查看端口占用情况 https://www.jianshu.com/p/70be9a5694ef
- SimpleHTTPServer https://www.jianshu.com/p/24c53e955743