10.15 iptables filter表小案例;10.16—10.18 iptables nat

扩展:

1. iptables应用在一个网段:

http://www.aminglinux.com/bbs/thread-177-1-1.html

2. sant,dnat,masquerade:

http://www.aminglinux.com/bbs/thread-7255-1-1.html

3. iptables限制syn速率:

http://www.aminglinux.com/bbs/thread-985-1-1.html

10.15 iptables filter表小案例

iptables表小案例

1. 创建iptables.sh脚本:

[[email protected] ~]# vim /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.223.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

解释说明:

ipt="/usr/sbin/iptables" 定义一个环境变量(下面$ipt就等同于/usr/sbin/iptables的绝对路径了)

$ipt -F 清空之前规则(没有-t,默认是执行的filter)

$ipt -P INPUT DROP 定义策略 (INPUT策略 DROP掉)

$ipt -P OUTPUT ACCEPT 定义策略(OUTPUT策略 ACCEPT接受)

$ipt -P FORWARD ACCEPT 定义策略(FORWARD策略 ACCEPT接受)

$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 增加规则(RELATED状态,ESTABLISHED状态放行)

$ipt -A INPUT -s 192.168.223.0/24 -p tcp --dport 22 -j ACCEPT增加规则(192.168.223网段访问22端口的数据包放行)

$ipt -A INPUT -p tcp --dport 80 -j ACCEPT增加规则(80端口数据包方行)

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT增加规则(21端口数据包放行)

2. 执行iptables.sh脚本:

[[email protected] ~]# sh /usr/local/sbin/iptables.sh

3. 查看iptables.sh规则:

[[email protected] ~]# iptables  -nvL

4. 恢复默认规则(重启了iptables服务,因为刚刚设定的规则没有保存到配置文件!):

[[email protected] ~]# service iptables restart

filter表小案例

1. 本机可以ping通外网,别人ping不通本机(禁ping) :

[[email protected] ~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP

2. 删除禁ping的规则:

[[email protected] ~]# iptables -D INPUT -p icmp --icmp-type 8 -j DROP

10.16 iptables nat表应用(上)

准备工作:

hao1A机器两块网卡ens33(192.168.223.128)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络(局域网)

hao2B机器只有网卡ens37(192.168.100.100),和A机器ens37可以通信互联。

需求1:让hao2B机器连接外网

hao1A机器操作:

hao1机器:编辑虚拟机设置——选中:网络适配器——添加:网络适配器——点击:下一步

保持默认:NAT模式——点击: 完成

选中:网络适配器 2——选择:LAN 区段——添加:自定义名称(内网交换机001)——确定

选中刚刚添加的新LAN段 ——确定

hao2B机器操作:

hao2机器:编辑虚拟机设置——选中:网络适配器——设备状态:启动时连接勾掉——点击:下一步

保持默认:NAT模式——点击: 完成

选中:网络适配器 2——选择:LAN 区段——选中:内网交换机001——确定

注意关掉,hao2B机器网络适配器——设备状态——启动时连接——勾选掉

确保:hao1适配器2和hao2适配器2,LAN 区段在同一段下!!!

1. 查看hao1A机器,新添加的网卡名称:

[[email protected] ~]# ifconfig

2. 新网卡命令设置ip(临时生效,在Xshell上操作的): ifconfig ens37 ip/网段

(重启后会失效,永久生效去创建网卡配置文件,拷贝ens33文件重命名为ens37,把ip更改,mac地址删除)

[[email protected] ~]# ifconfig ens37 192.168.100.1/24

3. 查看hao2B机器,新添加的网卡名称:

[[email protected] ~]# ifconfig

4. 新网卡命令设置ip(临时生效,在虚拟机上操作的): ifconfig ens37 ip/网段

(为甚么不在xshell上操作,因为hao2B机器的网络适配器没有启动,没法连接Windows下的xshell了)

[[email protected] ~]# ifconfig ens37 192.168.100.100/24

5. hao1A机器 ping hao2B机器设置的内网ip:

[[email protected] ~]# ping 192.168.100.100

6. hao2B机器 ping hao1A机器设置的内网ip

(一定要确保,hao2B机器ens37网卡设定了192.168.100.100的ip,临时设定的很快就失效)

[[email protected] ~]# ping 192.168.100.1

10.17 iptables nat表应用(中)

7. hao1A机器,打开端口转发(给这个文件追加1):

(cat .../ip_forward文件默认查看的值是0没打开,打开为1。)

[[email protected] ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward

8. hao1A机器,执行规则使192.168.100.0网段可以上网:

[[email protected] ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

查看nat表规则:

9. hao2B机器,命令设置网关 :

[[email protected] ~]# route add default gw 192.168.100.1

10. hao2B机器,配置文件中,设置DNS:

[[email protected] ~]# vi /etc/resolv.conf

插入添加公共dns:

nameserver 119.29.29.29

11. hao2B机器,ping通了外网地址 ;ping通了hao1A机器ens33网卡ip :

注意:一定要关闭了selinux防火墙和firewalld防火墙在做本实验!!!

[[email protected] ~]# ping www.baidu.com

[[email protected] ~]# ping 192.168.223.128

10.18 iptables nat表应用(下)

需求2:hao3C机器只能和hao1A机器通信;让hao3C机器可以直接连通hao2B机器的22端口

1. hao1A机器,打开端口转发(给这个文件追加1) :

(cat .../ip_forward文件默认查看的值是0没打开,打开为1。)

[[email protected] ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

2. 删掉hao1A机器,之前设定nat表上的规则 :

[[email protected] ~]# iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

3. hao1A机器,重新设定添加nat表的规则1(端口转发,针对进去的数据包) :

[[email protected] ~]# iptables -t nat -A PREROUTING -d 192.168.223.128 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22

4. hao1A机器,重新设定添加nat表的规则2(针对回来的数据包) :

[[email protected] ~]# iptables -t nat  -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.223.128

5. hao2B机器,命令设置网关 :

[[email protected] ~]# route add default gw 192.168.100.1

6. 设置hao3 Xshell连接到hao2B机器:

通过hao1机器外网ip指定端口,远程到hao2内网机器:

新建Xshell——名称:hao3——主机:hao1外网ip——端口号:1122(通往hao2机器的端口)

第一次登录的警告,接受并保存即可!

输入hao2B机器用户名密码,即可登录到A机器;

通过A机器外网映射的ip 1122端口连接到hao2B机器上!

原文地址:http://blog.51cto.com/zhuneianxiang/2065107

时间: 2024-10-12 07:23:11

10.15 iptables filter表小案例;10.16—10.18 iptables nat的相关文章

三十二、iptables filter表小案例、iptables nat表应用

一.iptables filter表小案例 需求:只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.188.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口. 这个需求写一个脚本,内容如下: # vi /usr/local/sbin/iptables.sh #! /bin/bash ipt="/usr/sbin/iptables"      //ipt:定义了一个变量,应写绝对路径. $ipt -F $ipt -P

十(4)iptables语法、iptables filter表小案例、iptables nat表应用

                                    iptables语法 filter表: INPUT链:作用于进入本机的包 OUTPUT链:作用于送出本机的包 FORWARD链:作用于和本机无关的包 nat表: PREROUTING链:作用是包在刚刚到达防火墙时改变包的目标地址 OUTPUT链:改变本地产生的包的目标地址 POSTROUTING链:作用是在包将离开防火墙时改变包源地址 1.查看iptables规则 iptables -nvL  (此时默认查看filter表,

iptables filter 表小案例

案例1:放行 21 .22 .80 端口,且 22 端口只允许 192.168.5.0/24 这个 IP 段访问 #!/bin/bash ipt="/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 INP

10.15-10.18 iptables filter表案例 iptables nat表应用

七周四次课(3月22日) 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展1. iptables应用在一个网段  http://www.aminglinux.com/bbs/thread-177-1-1.html2. sant,dnat,masquerade   http://www.aminglinux.com/bbs/thread-7255-1-1.html3. iptables限制syn速率  http://www.

iptables filter表

10.15 iptables filter表小案例 iptables扩展选项(了解) 其实匹配扩展中,还有需要加-m引用模块的显示扩展,默认是隐含扩展,不要使用-m. 状态检测的包过滤: -m state --state {NEW,ESTATBLISHED,INVALID,RELATED} 指定检测那种状态 -m multiport 指定多端口号--sport--dport--ports -m iprange 指定IP段--src-range ip-ip--dst-range ip-ip -m

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展 iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html iptables限制syn速率 http://www.aminglinux.com/bbs/thre

10.15 iptables filter表案例 10.16/10.17/10.18 iptable

七周四次课 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 打开端口转发, 调整内核参数 增加一条规则 所添加的规则 B机器设置默认网关 设置公共DNS C设备与A通信,通过端口转换的形式,将原有iptables清空 上面为进来的包进行转换,下面为出去的包进行转换 原文地址:http://blog.51cto.

iptables filter表案例及iptables nat应用

iptables filter表案例 iptables小案例需求 只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.1.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口. 由于这个需求有多条规则,所以最好写成脚本的形式,操作示例如下: # vi /usr/local/sbin/iptables.sh              加入如下内容,保存退出. 脚本内容: ipt="/usr/sbin/iptables" $i

Linux学习笔记(三十二)iptables filter表案例、 iptables nat表应用

一.iptables filter表案例 需求:将80.20.21端口放行,对22端口指定特定的ip才放行 以下为操作方法: vim  /usr/local/sbin/iptables.sh    //加入如下内容 #! /bin/bashipt="/usr/sbin/iptables"   //定义一个变量,写iptables的绝对路径 $ipt -F                //清空规则 $ipt -P INPUT DROP        //添加默认的INPUT规则 $ip