实验----SNAT,DNAT,转发

首先配置NAT环境:

A机:桥接网卡,作为外网。IP:172.17.252.227

B机:作为NAT转换机,两个网卡都有。IP:172.17.123.224 192.168.199.138

开启转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward

或者vim /etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl -p

C机:仅主机网卡,作为内网。IP:192.168.199.142

添加路由记录route add default gw 192.168.199.138

实现SNAT:

在NAT转换机上:

iptables -t nat -A POSTROUTING -s 192.168.199.0/24 -j SNAT --to-source 172.17.123.224   转换源地址

效果:实现内网可以访问外网,外网不可以访问内网

C机:

A机:

实现DNAT:

在NAT转换机上:

iptables -t nat -I PREROUTING 1 -d 172.17.123.224 -j DNAT --to-destination 192.168.199.142   转换目标地址

效果:实现外网访问内网

A机:

实现REDIRECT转发:通过改变目标IP和端口,将接受的包转发至不同端口

本例实现目标地址是本机192.168.199.143端口是80的包转发到本机8080端口:

准备工作:修改192.168.199.143主机的httpd服务的监听端口为8080

vim /etc/httpd/conf/httpd.conf

Listen 8080

systemctl restart httpd

防火墙策略:

iptables -t nat -A PREROUTING -d 192.168.199.143 -p tcp --dport 80 -j REDIRECT --to-ports 8080

效果:访问网页的时候不需要加上8080端口也可以访问,因为会把80转换为8080

在centos7上还可以用firewalld实现:

firewall-cmd --add-masquerade   启用伪装

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.199.143

也可以实现转发到远程主机,只需要更改为远程主机ip即可

时间: 2024-10-03 07:05:52

实验----SNAT,DNAT,转发的相关文章

Linux SNAT/DNAT设置

背景及原理分析 现有组网 外网(即公司大网):10.0.0.0/8 内网(即实验室网络):108.28.194.0/24 网络改造 打通内网和外网有以下几种方法: 内网主机直接连接到外网:网络简单,但改造成本太大 VPN:每台外网主机访问内网时都需要设置VPN NAT:仅需内网增加网关主机同时连接内外网即可,其他主机无需修改. 本文采用NAT的方案:用一台具备多网卡的Linux服务器作为内网网关,本次实践采用SBCX服务器,其网络配置如下: 内网网卡为eth3,地址为108.28.194.1/2

iptables SNAT/DNAT测试

环境:CentOS 6.4(最小化安装) SNAT测试: 地址规划: Node IP address GW EndUser 192.168.101.241/24 192.168.101.1 iptables eth1:192.168.101.1/24 eth0:192.168.100.242/24 192.168.100.1 EndUser: [[email protected] ~]# tail -n 5 /etc/sysconfig/network-scripts/ifcfg-eth0 BO

SNAT/DNAT

SNAT,是源地址转换,其作用是将ip数据包的源地址转换成另外一个地址. 名词解释 编辑 SNAT,可能有人觉得奇怪,好好的为什么要进行ip地址转换啊,为了弄懂这个问题,我们要看一下局域网用户上公网的原理,假设内网主机A(192.168.2.8)要和外网主机B(61.132.62.131)通信,A向B发出IP数据包,如果没有SNAT对A主机进行源地址转换,A与B主机的通讯会不正常中断,因为当路由器将内网的数据包发到公网IP后,公网IP会给你的私网IP回数据包,这时,公网IP根本就无法知道你的私网

mininet实验 动态改变转发规则实验

写在前面 本实验参考 POX脚本设置好控制器的转发策略,所以只要理解脚本. mininet脚本设置好拓扑和相关信息,所以也只要理解脚本. POX脚本目前基本看不懂. 本实验我学会了:POX控制器Web界面,第一次真正的看到了流表项. 实验拓扑 在该环境下,假设H1 ping H4,初始的路由规则是S1-S2-S5,一秒后,路由转发规则变为S1-S3-S5,再过一秒,规则变为S1-S4-S5,然后再回到最初的转发规则S1-S2-S5.通过这个循环调度的例子动态地改变交换机的转发规则. 实验步骤 1

SNAT DNAT MASQUERADE 区别

SNAT,DNAT,MASQUERADE都是NATMASQUERADE是SNAT的一个特例SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机MASQUERADE是用发送数据的网卡上的IP来替换源IP,因此,对于那些IP不固定的场合,比如拨号网络或者通过dhcp分配IP的情况下,就得用MASQUERADEDNAT,就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DN

Mininet实验 动态改变转发规则

介绍 拓扑如下: 在该环境下,假设H1 ping H4,初始的路由规则是S1-S2-S5,一秒后,路由转发规则变为S1-S3-S5,再过一秒,规则变为S1-S4-S5,然后再回到最初的转发规则S1-S2-S5.通过这个循环调度的例子动态地改变交换机的转发规则. pox脚本 pox脚本lab_controller.py 不得不说这脚本问题是真的多. 1 from pox.core import core 2 3 import pox.openflow.libopenflow_01 as of 4

IP tables防火墙:SNAT策略、DNAT策略

SNAT+DNAT 策略简介: ·SNAT(源地址转换):是Linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包控制类型,其作用是根据指定调教修改数据包的源IP地址 内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部. ·SNAT策略只能用在nat表的POSTROUTING链,使用iptables命令编写

iptables实现网络防火墙功能,SNAT以及DNAT功能

iptables实现网络防火墙功能,SNAT以及DNAT功能 一.网络防火墙的实现 1.环境准备: 虚拟机vmware workstation 11 系统CentOS 7.3                软件包安装:yum install httpd vsftpd tcpdump 2.前提条件 2.1各主机正确设置IP地址/子网掩码  参考设置: 主机A 网卡ens33:10.0.0.110/24 内网客户端 主机B 网卡ens33:10.0.0.111/24 ens37:172.16.252

linux基础之iptables (二) SNAT和DNAT

iptables要实现内网和外网通信,有两种方式: nat: Network Address Translation,安全性,网络层+传输层 proxy: 代理,应用层 nat: SNAT: 只修改请求报文的源地址 DNAT:只修改请求报文的目标地址 nat表: PREROUTTING: DNAT OUTPUT POSTROUTING: SNAT 实例: 以三台电脑搭建环境,其中一台作为外网主机,一台作为网关,一台作为内网主机 1. 以192.168.1.4这台电脑作为连接内网和外网的接口,et