iptables案例、iptables的nat表

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

iptables小案例
vi /usr/local/sbin/iptables.sh //加入如下内容
#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP //外面ping不通本地
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //为了更顺利的连接 ESTABLISHED已经连接。RELATED一个边缘的状态。(比如客户端和服务器端建立连接之后,会有一些而外的链接出来。没有这个可能其他的连接被禁掉) 
$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT //让自己人通过
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT //允许80端口对外访问
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

icmp示例
iptables -I INPUT -p icmp --icmp-type 8 -j DROP //禁ping,自己人可以ping通。ping外面的通,ping本机不通(ACCEPT里面可以被外面ping通)

nat表应用
A机器两块网卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。

步骤:
1.准备两台机器
2.A机器关机点击》编辑虚拟机
3.添加》网络适配器,
4.下一步》自定义(不选)。默认nat。
5.在虚拟机设置处,点击网络适配器2》选择lan区段(把网卡连到内网的交换机上,window连接不上,那么这台机器和那台连上同一个内网交换机)。
6.点击lan区段按钮。在点击添加自定义名字。点击确定。完成
7.B机器点击编辑虚拟机
8.点击nat,连接状态勾选去掉。
9.重复3-6步骤。Lan区段必须相同
10.启动AB机器

给A机器手动设置ip
Ifconfig 网卡名字 192.168.100.1/24 要想永久存在需要拷贝其他网卡的文件

B机器把外网
ifdown 外网网卡
Ifconfig 网卡名字 192.168.100.100/24 
pingA机器出现问题
排查:A机器ping自己是否通
B机器mii-tool 网卡名 看网线是否连接
设置的lan区段设备状态要钩上
查看手动设置ip是否消失

需求1:可以让B机器连接外网
A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward //打开端口转发。需要修改内核参数默认为0,表示没有开启内核转发
A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eno16777728 -j MASQUERADE //实现上网。-o后面网卡不是手动设置的网卡

B上设置网关为192.168.100.1 //route -n //查看网关。默认没有任何网关的
route add default gw 192.168.100.1
可以ping通A机器外网
vi /etc/resolv.conf //设置网关
可ping网关和外网,但是外网ping不通B机器

此步骤最好完整的从10.12开始。防止B机器ping不通外网。
iptables要打开,FORWARD也要打开

需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口
Window无法pingB机器,终端操作不方便,如何远程登录?通过连接A机器跳转到B机器,就是端口映射。B机器的端口映射出来,A机器的端口已经有了22,可以把B机器映射出来的端口改成别的。访问A机器的122端口就是访问B机器的22端口。
上面的A(就是图上B机器)B机器是(C机器)。下面的A(window)。
A不能直接连接C机器,只能通过B机器连接C机器22端口。
iptables案例、iptables的nat表

B上打开路由转发echo "1">/ proc/sys/net/ipv4/ip_forward (已做过)
iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens16777728 -j MASQUERADE //删除之前的规则
iptables -t nat -nvL

B上执行iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22 //就是把进来的包源ip是window133.1 目标ip是133.130 目标--dport是1122。端口转发到100.100 的22端口,133.130是B机器
B上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130 //从100.100回来的包经过B机器在做一个SNAT操作把目标地址改成133.130。这个目标地址也是B机器发出去的源ip地址。

C上设置网关为192.168.100.1(已做过)

远程连接工具连接B机器192.168.133.130 1122端口。
Window(A机器)无法直接ping(c机器)。



本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/2045920,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
11月前
|
Linux
centos使用iptables实现nat端口转发
centos使用iptables实现nat端口转发
425 4
|
网络协议 Docker 容器
docker启动报错 (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --
docker启动报错 (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 9876 -j DNAT --
367 0
|
3月前
|
Linux 网络安全
NAT 技术与 Linux iptables
NAT 技术与 Linux iptables
|
4月前
|
网络协议 开发工具 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 !
73 1
|
4月前
|
网络协议 网络安全 开发工具
iptables的源地址、目标地址转换
iptables的源地址、目标地址转换
139 1
|
4月前
|
网络安全 开发工具
iptables 源地址、目标地址转换
实验准备,配置web服务器,配置web防火墙网卡,配置客户机网卡,测试,开启防火墙功能,设置源地址转换,通过改变我客户机的地址身份为web服务器同网段来实现访问,通过改变目标地址(客户机)的地址为web同网段来实现
89 0
|
10月前
|
网络安全 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
|
运维 Shell 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(三)
2163 0
|
运维 网络协议 网络安全
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(二)
756 0
|
运维 网络协议 Linux
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)(一)
【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)
1666 0