首页 > 代码库 > 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