iptables filter表案例、iptables nat表应用

iptables filter小案例

    针对filter表,预设策略INPUT 链DROP,其余两个链ACCEPT ,而后针对192.168.188.0/24开通22端口,对全部网段开放80端口,对全部网段开放21端口。shell

    编写知足上面需求的shell脚本:

     vim /usr/local/sbin/iptables.shvim

    脚本内容:

#! /bin/bash


ipt="/usr/sbin/iptables" #定义变量,执行命令的时候写命令的绝对路径

$ipt -F   #清空filter表以前的内容

$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.188.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

编写完后保存退出,执行命令 : /bin/sh /usr/local/sbin/iptables.sh 就能够了

icmp示例bash

iptables -I INPUT -p icmp --icmp-type 8 -j DROP网络

iptables nat表应用

    A机器两块网卡ens33和ens37,ens33能够上外网,ens37是内部网络,B机器只有ens37 ,和A机器ens37能够通讯互联tcp

要先准备两台虚拟机,给它们设置增长网络适配器,在虚拟机里点击编辑虚拟机设置。spa

                                                         

 

而后点击网络适配器,再点击下一步,而后再弹出的对话框中保持默认设置,点击完成。blog

                  

点击新建的网络适配器,选择LAN区段,在LAN区段(s)里设置一个名字。ip

         

               

启动两台机器进入虚拟机,给两台机器设置IP路由

给A机器设置IP : ifconfig ens37 192.168.100.1/24虚拟机

给B机器设置IP: ifconfig ens37 192.168.100.100/24

这两个命令指示临时的,要想永久生效,要设置配置文件.

    需求 :能够让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机器上设置网关 route add default gw 192.168.100.1

    需求 :C机器只能和A通讯,让C机器能够直接连通B机器的22端口

A机器上打开路由转发echo "1" > /proc/sys/net/ipv4/ip_forward

A机器上执行 iptables -t nat -A PPREROUTING -d 192.168.42.128 -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.42.128

B机器上设置网关 

相关文章
相关标签/搜索