SNAT,DNAT,端口转发

利用iptables配置NAT

实验准备

实验拓扑图:

1

一、SNAT

三台服务器:lan、router、internet

 配置内网lan

1.配置内网IP地址

禁用外网地址ifconfig eth1 down

2.查看路由信息

2

3.增加一条路由指向路由器  3  、配置       配置路由器

1.检查路由转发功能

sysctl -a |grep ip_for

若:net.ipv4.ip_forward=1,就说明具有路由转发功能

若:net.ipv4.ip_forward=0,就说明不具有转发功能,需要修改文件:

echo net.ipv4.ip_forward=1 >>/etc/sysctl.conf

sysctl -p  生效该文件

4

使用192.168.42.131 ping 172.18.42.8 不能Ping 通

在172.18.42.8主机上抓包  tcpdump -i eth1 host 192.168.42.131,只有请求包,没有回复包5

2.配置NAT

iptables -t nat -A POSTROUTING -s 192.168.42.0/24 ! -d 192.168.42.0/24 -j SNAT –to-source                      172.18.42.7

6

7

使用192.168.42.131 ping 172.18.42.8

8

抓包

9

    检测

1.在外网internet上安装个Httpd服务

yum install httpd

echo www.baidu.com >/var/www/html/index.html

10

2.在内网lan中访问

11

二、DNAT

1.在内网上安装个Httpd 便于观察实验结果

12

2.配置路由器

iptables -t nat -A PREROUTING -d 172.18.42.7 -p tcp –dport 80 -j DNAT –to-destination                               192.168.42.13113

3.在外网internet上查看

14

三、端口转发

端口转发是发生在一台服务器上的,拿内网lan为类

开始用192.168.42.133访问192.168.42.131上的httpd服务

192.168.42.133是用curl 192.168.42.131

15

1.修改192.168.42.131上的httpd的端口:

16

1718

重启服务

2.在用192.168.42.133访问192.168.42.131上的httpd服务

19

20

3.在192.168.42.131上配置端口转发

iptables -t nat -A PREROUTING -d 192.168.42.131 -p tcp –dport 80 -j REDIRECT –to-port 10086

21

再次访问

22

 

 

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91820

(0)
zss123456zss123456
上一篇 2018-03-01 14:39
下一篇 2018-03-01 17:56

相关推荐

  • N26 第八周作业

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥(network bridge) 网桥工作于物理层与数据链路层,在终端设备较多的局域网中可以用网桥设备将局域网分离为不同的冲突域(collision domain),减少网络冲突,提升网络传输效率 集线器(network hub) 集线器具有多个I/O端口,一个端口的输入信号…

    2017-02-25
  • N26-第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 VIM有三种模式,分别为标准模式、输入模式、末行模式 模式切换:          标准模式——输入模式:i          标准模式——末行模式:: …

    Linux干货 2017-07-08
  • 使用Nmap扫描系统风险点

    0x00 迅速了解Nmap Nmap是一款扫描目标网络信息的工具,可以是黑客用来探测主机信息,收集情报的神器。也可以是运维人员扫描网络环境,及时发现系统漏洞的好帮手。 0x01 它的功能 1、主机发现(Host Discovery)#探测目标网络环境中有哪些主机是可以进行通信的,当然你也可以用ping命令试一下 2、端口扫描(Port S…

    Linux干货 2015-04-19
  • AOP面向方面编程

    1.引言         软件开发的目标是要对世界的部分元素或者信息流建立模型,实现软件系统的工程需要将系统分解成可以创建和管理的模块。于是出现了以系统模块化特性的面向对象程序设计技术。模块化的面向对象编程极度极地提高了软件系统的可读性、复用性和可扩展性。向对象方法的焦点在于选择对象作为模块的主要单元,并将对象与系统的…

    Linux干货 2015-04-07
  • 马哥网络21-第5周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost proc]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf root (hd0,0) kernel /vmlinuz-2…

    Linux干货 2016-08-08
  • linux文件管理

    目录创建删除,软硬链接的区别和注意,file命令的使用,工作中遇到一些情况的处理方法

    2017-11-18