首页 > 代码库 > Linux 网络 DNS troubleshooting
Linux 网络 DNS troubleshooting
1, netstat
-a: 显示全部连接
-t: 显示tcp相关
-u显示udp相关
-n: 不加n的话,netstat会反解析IP为域名显示,加上的话就禁用反解析,加快速度
-p: 显示进程
-l: 加上l的话,目的ip都是*.*.*,原地址显示IP:port,stat嵌套字显示listen。
-ie: =ifconfig
-r: =route
组合应用:
查看全部连接状态:netstat -an
查看某个进程是否在运行:netstat -anpl | grep
查看某个端口是否在监听:netstat -anl | grep
查看接口: netstat -ie
查看路由: netstat -r
2, dig
dig @server domain : 用server去查询domain
dig +trace domain: trace
dig +tcp: 查询dns默认是用udp,+tap会强制用tcphttp://blog.51cto.com/user_index.php?action=addblog_new
dig -x IP @server : 反向解析
3, nscd
nscd -g 查询缓存
nscd -i passwd/group/hosts 清空缓存
service nscd restart 也可以清空缓存
4,iptables
-A 指定链名
-i 接口 eth0
-p 接协议
-d 目的IP
-dport 目的端口
-sport 源端口
-j 动作,包括accept drop reject
4个表:filter,nat,mangle,raw,默认表是filter(没有指定表的时候就是filter表)。表的处理优先级:raw>mangle>nat>filter。
filter:一般的过滤功能
nat:用于nat功能(端口映射,地址映射等)
mangle:用于对特定数据包的修改
raw:有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能
5个链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARDING:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外转发
POSTROUTIONG:发送到网卡接口之前。
举例:
开启ssh: iptables -A input -p tcp -dport 22 -j ACCEPT
开通ping: iptable - A input -p icmp -j ACCEPT
iptables -A output -p icmp -j ACCEPT
icmp的tpye0是回显应答(ping应答),type8是回显
linux层面实现:
一、系统禁止ping
[root@localhost ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
二、系统允许ping
[root@localhost ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
Linux 网络 DNS troubleshooting