firewalld & iptables


这一波我们学习的是火墙 火墙分两种  firewalld & iptables

首先是firewalld

那么我们把firewalld启起来

firewalld & iptables


下面是火墙的基本操作 显示状态 查看默认域 查看活动域 以及列出当前所默认的域中的信息,策略等

firewalld & iptables


改变默认域

firewalld & iptables


永久添加信任源 所有的永久操作之后要加 --reload 才能生效

添加服务 所有的添加规则 服务 源 如果不加域参数 就是加到当前的默认域中 加了参数就是加到指定的域中

firewalld & iptables


包括添加端口 同时端口后要加/服务 指定服务

firewalld & iptables


这里是打开伪装 并添加一个转发的策略 将22端口上的tcp请求转发到150主机的端口上 效果就是我们使用ssh服务连接这台主机的时候 他实际会连接到150

主机上 

firewalld & iptables


效果如下 当我们正常连接151主机 成功以后 发现其实连接的是150主机

firewalld & iptables


然后我们 关掉firewalld 打开iptables 

讲道理  iptables 比firewalld要专业一些 定义 操作更加清晰 但是比较不适合新手使用

firewalld & iptables


iptables -nL 查看 当前的三表五链路里的策略

-F 刷新策略 如果没有service iptables save 的话 临时写的策略都会失效 

firewalld & iptables


这里我已经写了 只允许250主机连接151主机的ssh 别的全都reject 所以这里150主机就被refuse了

firewalld & iptables

250主机则是可以的

firewalld & iptables


这里-D表示删除第几条策略 -I 则是插入到第几条策略 因为iptables有一个很重要的属性 它是从上往下读取的 所以先写的策略会覆盖掉后面策略的相同部分

比如你先写拒绝所有22端口的连接 

再写允许250主机连接22端口 然后实际的效果是所有人都连不上 因为 他读到前一条 拒绝所有人 就不再读后面的允许250了

但是要是换一下顺序 先写允许250主机 再写拒绝所有人 那么允许250会覆盖掉拒绝所有人中的“拒绝250”这一条 所以效果就是其他人不行 而250可以

firewalld & iptables


这个 -m state 表示 第一次使用时 通过认证 那么后面就会默认通过

firewalld & iptables