监控系统状态2

查看网络状态

netstat 查看网络状态
netstat -lnp 查看监听端口
netstat -an 查看系统的网络连接状况
netstat -lntp 只看出tcp的,不包含socket
ss -an 和nestat异曲同工

自行查看TCP三次握手四次挥手的过程

分享一个小技巧:
查看所有状态的数字统计:netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
监控系统状态2
ESTABLISHED是正在通信的客户端

Linux下抓包

抓包工具tcpdump
安装:yum install -y tcpdump
用法:tcpdump -nn
tcpdump -nn -i ens33 //按照网卡名称
监控系统状态2

tcpdump -nn port 80 //指定端口
tcpdump -nn not port 22 and host 192.168.0.100
tcpdump -nn -c 100 -w 1.cap //-c指定数据包抓捕数量;-w指定存放文件
查看文件:tcpdump -r 1.cap file 1.cap(查看文件概况)

安装工具:yum install -y wireshark
查看80端口web:tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
例:
监控系统状态2

Linux网络相关

ifconfig查看网卡ip(yum install net-tools)
ifup ens33/ifdown ens33 //连接网卡或断开网卡
设定虚拟网卡ens33:1
mii-tool ens33 查看网卡是否连接
ethtool ens33 也可以查看网卡是否连接
更改主机名 hostnamectl set-hostname aminglinux
DNS配置文件/etc/resolv.conf

/etc/hosts文件
可以看成是IP和hostname主机名的一个解析文件
把ip和hostname写到里面,ping hostname和ping ip就一样了

Linux防火墙-netfilter

1、
-- selinux临时关闭 setenforce 0
-- selinux永久关闭 vi /etc/selinux/config
centos7之前使用netfilter防火墙
centos7开始使用firewalld防火墙

centos7关闭firewalld开启netfilter方法:
systemctl stop firewalld //关闭防火墙
systemctl disable firewalled //关闭开机启动

开启netfilter
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables

iptables -nvL //查看防火墙默认规则

netfilter的5个表
filter表用于过滤包,最常用的表,有INPUT、FORWARD、OUTPUT三个链
nat表用于网络地址转换,有PREROUTING、OUTPUT、POSTROUTING三个链
managle表用于给数据包做标记,几乎用不到
raw表可以实现不追踪某些数据包
security表在centos6中并没有,用于强制访问控制(MAC)的网络规则

数据包流向与netfilter的5个链
PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外发出
POSTROUTING:发送到网卡接口之前
监控系统状态2

参考:
iptables简介
netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。
iptables基础
规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规 则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工作就是添加、修改和删除这些规则。
iptables和netfilter的关系:
这是第一个要说的地方,Iptables和netfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道 netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。
iptables传输数据包的过程
① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。
监控系统状态2

2、iptables语法

查看iptables规则:iptables -nvL 规则文件路径:/etc/sysconfig/iptables
iptables -F 清空规则(建议不要进行)
service iptables save 保存规则
service iptables restart 重启防火墙服务
iptables -t nat //-t指定表
iptables -Z 可以把计数器清零
iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
-A增加 来源IP 协议 来源端口 目标IP 目标端口 拒绝
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP -I插入 -D删除
iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT //-i eth0指定网卡

若忘记之前增加的规则语句,现在想删除,可以用以下办法操作:
iptables -nvL --line-numbers //把规则的编号显示出来
iptables -D INPUT 1 //删除编号1的规则
iptables -P INPUT DROP //把默认规则改成DROP(建议不操作)
若操作了iptables -P INPUT DROP,需要在客户端进行操作修改回来:iptables -P OUTPUT DROP

3、iptables小案例
编写脚本
vi /usr/local/sbin/iptables.sh //加入如下内容

#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

执行脚本:sh /usr/local/sbin/iptables.sh
结果如下图:
监控系统状态2

icmp示例(需要把上个执行的脚本恢复为默认状态)
iptables -I INPUT -p icmp --icmp-type 8 -j DROP //结果:ping外网地址能通,ping本机不通

4、iptables nat表应用

A机器两块网卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。
需求1:可以让B机器连接外网
A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward //打开端口转发
A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
B上设置网关为192.168.100.1
需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口
A上打开路由转发echo "1">/ proc/sys/net/ipv4/ip_forward
执行下面两个命令前,需要把原来设置的删掉:iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
A上执行iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
A上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
B上设置网关为192.168.100.1

用命令设置IP和子网掩码(临时,想永久生效需要改配置文件):ifconfig 网卡名 192.168.100.1/24
断开网卡:ifdown 网卡名
查看网关:route -n
命令行设置网关:route add default gw 192.168.100.1

用命令设置IP和子网掩码(临时,想永久生效需要改配置文件):ifconfig 网卡名 192.168.100.1/24
断开网卡:ifdown 网卡名
查看网关:route -n
命令行设置网关:route add default gw 192.168.100.1

5、iptables规则的备份和恢复

保存和备份iptables规则
service iptables save //会把规则保存到/etc/sysconfig/iptables

把iptables规则备份到my.ipt文件中
iptables-save > my.ipt

恢复刚才备份的规则
iptables-restore < my.ipt

转载于:https://blog.51cto.com/14079728/2340394

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值