linux运维之iptables的一些操作(参考大神的)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux运维之iptables的一些操作(参考大神的)相关的知识,希望对你有一定的参考价值。

参考技术A 1.安装iptables管理命令

2.加载防火墙的内核模块

3.查看已加载的模块

4.启动防火墙

首先停止firewalld

开启iptables

1.查看防火墙规则

2.清除防火墙规则

3.添加防火墙规则

4.网络连接状态

5.删除某个规则

1.禁止某个端口访问

2.规则解释:

3.禁止除跳板机以外的IP访问

4.匹配端口范围

 5. 匹配ICMP类型

6.一些操作

1、封掉10.0.0.7

2、让10.0.0.7和SSH客户端(10.0.0.1)服务器可以Ping,其它的不能Ping

3、封掉3306端口

1.从上往下依次匹配

2.一但匹配上,就不在往下匹配了

3.默认规则,默认的情况,默认规则是放行所有

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

iptables A INPUT -p tcp -m state --dport 22 -j DROP

禁止一个数据包:

tcp协议

访问的端口是22

禁止源地址是10.0.0.7的主机访问22端口

禁止源地址是10.0.0.7的主机访问任何端口

禁止源地址是10.0.0.8的主机访问80端口

禁止除了10.0.0.7以外的地址访问80端口

2条规则冲突,会以谁先谁为准

禁止10.0.0.7访问22和80端口

禁止10.0.0.7访问22到100之间的所有端口

禁止所有主机ping

放行10.0.0.7可以ping

只允许10.0.0.7可以ping

等同于上一条,优化版,只要不是10.0.0.7就不允许ping

优先级:

匹配频次最高的条件放前面

Linux运维之道之ENGINEER1.4(shell脚本基础)

ENGINEER1.4

SHELL脚本基础

认识shell环境

bash shell的使用方式

交互式:

--人工干预,智能化程度高

--逐条解释执行,效率低

非交互式:

--需要提前设计,智能化难度大;

--批量执行,效率高;

--方便在后台及悄悄地执行;

什么是shell脚本:提前设计可执行语句,用来完成特定任务的文件

--解释型程序

--顺序,批量执行

规范shell脚本的一般组成:

#!环境声明

#注释文本

可执行代码

----------------------------------------------------------------------------------------------------------------------------------

例1:

编写helloworld.sh问候脚本

  1. 编写脚本代码:

    #vim  /root/helloworld.sh

    #!/bin/bash

    echo “hello  world”

  2. 添加x执行权限

    #chmod  +x  /root/helloworld.sh

  3. 运行脚本测试

    #/root/helloworld.sh

例2:

编写系统信息报告脚本

  1. 编写脚本代码:

    #vim  /root/1.sh

   #!/bin/bash

   cat  /etc/redhat-release

    uname  -r

    hostname

2.添加x执行权限

   # chmod  +x   /root/1.sh

3.运行脚本测试:

   #/root/1.sh

--------------------------------------------------------------------------------------------------------------------------------------

简单脚本技巧

重定向输出的应用

>:只收集正确    2>:只收集错误      &>:全部收集

本例要求编写一个脚本 /root/out.sh,功能特性如下:

  1. 执行此脚本显示  I  love  study !!

  2. 执行 /root/out.sh  2>  err.log 应该没有显示,但是查看 err.log 文件的内容为  I  love  study !!

步骤:

  1. #vim /root/out.sh

    #!/bin/bash

    #echo  "i  love   study!!"   >&2

  2. #chmod  -x   /root/out.sh

  3. #/root/out.sh

  4. #/root/out.sh  2>err.log

  5. #cat err.log

----------------------------------------------------------------------------------------------------------------------------------------

变量的定义及使用

以不变的名称存放可能变化的值

引用变量值:$变量名    以{}界定易混淆名称

变量的种类:

根据变量的用途不同区分:

环境变量:变量名一般都大写,用来设置用户,系统环境   (PATH)

位置变量:bash内置,存储内置脚本时提供的命令行参数   $n ,n为序号  $1 $2 ...${10}

预定义变量:bash内置,可直接调用的特殊值,不能直接修改

$#:已加载的位置变量的个数   $*:所有位置变量的值  $?:程序退出后的状态值,0表示正常,其他异常

自定义变量:用户自主设计,修改和使用

例:

要求编写一个脚本 /root/myhead,功能特性如下:

此脚本可接收2个位置参数,能够按照下列格式执行

此脚本执行后,能显示“你一共提供了 $# 个参数”,然后在下一行显示“文件 $1 的前 $2 行: ”,紧跟下一行开始输出对应文件的前几行内容


步骤一编写 /root/myuseradd 添加用户的脚本

#vim  /root/myuseradd

#!/bin/bash

echo  “一共提供了$#个参数”

echo   "用户名是$1,密码是$2   "

useradd $1

echo "$2"   |  passwd  --stdin $1

二.添加执行权限

#chmod  -x  /root/myuseradd.sh

----------------------------------------------------------------------------------------------------------------------------------------------

常用测试选项:

  • 文件状态检测  -f、-d、-e、-r、-w、-x

  • 整数值比较  -gt、-ge、-eq、-ne、-lt、-le

  • 字符串比较  ==、!=

  • 取反操作  !

多分支if选择结构:

if  条件测试操作1   then命令序列1

elif 条件测试操作2   then命令序列2

else  命令序列3

fi

例:

本例要求在虚拟机 server0 上创建 /root/foo.sh 脚本,任务目标如下:

  1. 当运行/root/foo.sh redhat,输出为fedora

  2. 当运行/root/foo.sh fedora,输出为redhat

  3. 当没有任何参数或者参数不是 redhat 或者 fedora时,其错误输出产生以下信息: /root/foo.sh redhat|fedora

1)编写脚本代码

    [[email protected] ~]# vim  /root/foo.sh
    #!/bin/bash
    if [ "$1" = "redhat" ]  
    then
           echo "fedora"
    elif [ "$1" = "fedora" ]
    then
           echo "redhat"
    else
           echo "/root/foo.sh redhat|fedora" >&2
    fi

2)添加x执行权限

    [[email protected] ~]# chmod  +x  /root/foo.sh  


 步骤二:测试foo.sh判断脚本

1)测试提供正确参数的情况

    [[email protected] ~]# /root/foo.sh  redhat fedora
    [[email protected] ~]# /root/foo.sh  fedora Redhat

2)测试提供非预期参数的情况

    [[email protected] ~]# /root/foo.sh  ubuntu
    /root/foo.sh redhat|fedora

3)测试不提供参数的情况

    [[email protected] ~]# /root/foo.sh
    /root/foo.sh redhat|fedora
 



本文出自 “Linux运维之道” 博客,请务必保留此出处http://13401400.blog.51cto.com/13391400/1979741

以上是关于linux运维之iptables的一些操作(参考大神的)的主要内容,如果未能解决你的问题,请参考以下文章

linux运维之LVS(一)

python自动化运维之Socket网络编程

Linux运维之道之admin笔记1.0

Linux运维之道之ENGINEER1.4(shell脚本基础)

大数据运维之MySQL备份及恢复

大数据运维之MySQL备份及恢复