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

相关推荐

  • 关于大型网站技术演进的思考(十二)–网站静态化处理—缓存(4)

    原文出处: 夏天的森林   上篇我补充了下SSI的知识,SSI是一个十分常见的技术,记得多年前我看到很多门户网站页面的后缀是.shtml,那么这就说明很多门户网站都曾经使用过SSI技术,其实现在搜狐网站也还在用shtml,如下图所示: 由此可见SSI在互联网的应用还是非常广泛的。其实互联网很多网页如果我们按照动静分离策略拆分,绝…

    2015-03-11
  • N25-第六周博客作业

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@han ~]# cp /etc/rc.d/rc.sysinit /tmp [root@han ~]#&n…

    Linux干货 2017-02-16
  • Linux程序包管理方式

    Linux程序包安装和管理方式共计三种:          一、[yum|dnf],通过官网或者其他开源网站提供的文件服务器,本机镜像源等途径进行安装。         二、rpm,通过官网或者其他开源网站通过…

    Linux干货 2016-07-29
  • Shell 变量类型及用法

    一、      什么是变量          变量源于数学,在计算机语言中能储存计算机结果或能表示值的抽象概念,变量可以由变量名访问,在指令语言中,变量通常是可变的。Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个…

    Linux干货 2016-08-12
  • LVS NAT + Keepalived HOWTO

    LVS NAT + Keepalived HOWTO   这篇文章主要讲解了,基于LVS/NAT,安装,运行与检测keepalived 目录     1、什么是keepalived?     2、规划你的网络 &nbsp…

    Linux干货 2015-09-21
  • N22-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 5、取出当前主机的…

    Linux干货 2016-08-29