最近遇到了服务器上服务已经启动,但是在浏览器上无法访问的问题,记录一下排查流程
netstat 命令用于显示各种网络相关信息,如网络连接、路由表、接口统计等。它可以帮助系统管理员和网络工程师监视和诊断网络问题。
常见用法和功能:
# 这条命令将显示所有的网络连接信息,并使用数字格式显示 IP 地址和端口号。 netstat -an
netstat -aptn 是 netstat 命令的一个常见用法,通常用于详细列出系统上所有的网络连接和相关进程信息。
详细解释:
-a 参数:显示所有的网络连接,包括正在进行的连接和监听状态的连接。
-p 参数:显示与网络连接相关联的进程信息(PID 和进程名)。
-t 参数:仅显示 TCP 协议相关的连接信息。
-n 参数:以数字格式显示 IP 地址和端口号,而不进行主机名和服务名的解析。
# 这条命令将列出所有的 TCP 协议连接信息,并显示每个连接对应的 PID 和进程名。这对于诊断哪些进程正在使用网络以及它们的连接状态非常有用。 netstat -aptn
一个典型的 /etc/iptables.sh 脚本可能包含以下内容:
# 这个脚本首先清除所有现有的 iptables 规则,设置默认策略为拒绝所有流量,然后定义了几条新的规则,如允许本地环回接口的流量和对外开放 80 端口。 #!/bin/bash # 清除所有现有规则 iptables -F # 设置默认策略为拒绝 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # 允许来自本机的所有流量 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # 允许与已建立连接的外部主机通信 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许外部访问 80 端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 查看iptables内容 vim /etc/iptables.sh # 执行iptables.sh 脚本,使得相关配置生效 /etc/iptables.sh