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

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:

扩展:

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脚本:

[root@hao-001 ~]# 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

clipboard.png

解释说明:

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脚本:

[root@hao-001 ~]# sh /usr/local/sbin/iptables.sh

3. 查看iptables.sh规则:

[root@hao-001 ~]# iptables  -nvL

clipboard.png

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

[root@hao-001 ~]# service iptables restart

filter表小案例

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

[root@hao-001 ~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP

2. 删除禁ping的规则:

[root@hao-001 ~]# 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机器:编辑虚拟机设置——选中:网络适配器——添加:网络适配器——点击:下一步

clipboard.png

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

clipboard.png

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

clipboard.png

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

clipboard.png

hao2B机器操作:

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

clipboard.png

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

clipboard.png

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

clipboard.png

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

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

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

[root@hao-001 ~]# ifconfigclipboard.png

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

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

[root@hao-001 ~]# ifconfig ens37 192.168.100.1/24

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

[root@hao-02 ~]# ifconfig

clipboard.png

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

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

[root@hao-02 ~]# ifconfig ens37 192.168.100.100/24

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

[root@hao-001 ~]# ping 192.168.100.100

clipboard.png

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

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

[root@hao-02 ~]# ping 192.168.100.1

clipboard.png

10.17 iptables nat表应用(中)

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

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

[root@hao-001 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

[root@hao-001 ~]# cat /proc/sys/net/ipv4/ip_forward

clipboard.png

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

[root@hao-001 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

查看nat表规则:

clipboard.png

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

[root@hao-02 ~]# route add default gw 192.168.100.1

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

[root@hao-02 ~]# vi /etc/resolv.conf

插入添加公共dns:

nameserver 119.29.29.29

clipboard.png

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

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

[root@hao-02 ~]# ping www.baidu.com

[root@hao-02 ~]# ping 192.168.223.128

clipboard.png

10.18 iptables nat表应用(下)

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

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

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

[root@hao-001 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

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

[root@hao-001 ~]# iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

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

[root@hao-001 ~]# 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(针对回来的数据包) :

[root@hao-001 ~]# iptables -t nat  -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.223.128

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

[root@hao-02 ~]# route add default gw 192.168.100.1

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

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

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

clipboard.png

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

clipboard.png

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

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

clipboard.png










本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/2065107,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
Linux
centos使用iptables实现nat端口转发
centos使用iptables实现nat端口转发
541 4
|
7月前
|
Linux 网络安全
NAT 技术与 Linux iptables
NAT 技术与 Linux iptables
112 0
|
8月前
|
网络协议 开发工具 Docker
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.17.0.2:80 !
iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9999 -j DNAT --to-destination 172.17.0.2:80 !
156 1
|
8月前
|
网络协议 网络安全 开发工具
iptables的源地址、目标地址转换
iptables的源地址、目标地址转换
164 1
|
8月前
|
网络安全 开发工具
iptables 源地址、目标地址转换
实验准备,配置web服务器,配置web防火墙网卡,配置客户机网卡,测试,开启防火墙功能,设置源地址转换,通过改变我客户机的地址身份为web服务器同网段来实现访问,通过改变目标地址(客户机)的地址为web同网段来实现
130 0
|
网络安全 Docker 容器
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
159 0
|
运维 Shell 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
2328 0
|
运维 网络协议 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
905 0
|
运维 网络协议 Linux
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(一)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)
1859 0
|
运维 网络安全 Docker
docker报错ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
docker报错ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
522 0