回顾linux端口转发 转发过程感慨

环境:

A服务器:  网卡1:192.168.1.151   网卡2:10.10.69.10

B服务器:  网卡1:10.10.69.41

要求:

访问192.168.1.151:1521   即访问 10.10.69.41:1521

启用端口转发:

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

清空nat表

iptables -t nat -F

端口转发配置详解:

1.模拟linux转发过程:

通过192.168.1.171访问192.168.1.151:1521   即访问 10.10.69.41:1521 转发过程:

A服务器接受到数据包时:

src 192.168.1.171 port 某个端口 dst 192.168.1.151 port 1521

先使用dnat转换目的端口 转换后的数据包如下:

src 192.168.1.171 port 某个端口 dst 10.10.69.41 port 1521

然后将转换后的数据包 进行snat 或者 MASQUERADE

src 10.10.69.10 port 某个端口 dst 10.10.69.41 port 1521

2.命令实现:

首先实现第一次dnat转换:

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.151 --dport 1521 -j DNAT --to-destination 10.10.69.41

(大意: 匹配dst 192.168.1.151 port 1521 的包将目的地址变为10.10.69.41)

2装方式转换src 地址:

(1)然后进行MASQUERADE

iptables -t nat -A POSTROUTING -p tcp -d 10.10.69.41 --dport 1521 -j MASQUERADE

(大意:配置dst 10.10.69.41 port 1521 的数据包 将源地址改为访问dst 10.10.69.41 port 1521 的网卡地址)

(2)使用snat转换:

iptables -t nat -A POSTROUTING -p tcp -d 10.10.69.41 --dport 1521 -j SNAT --to-source 10.10.69.10

(大意: 匹配dst 10.10.69.41 port 1521 的包将源地址变为10.10.69.10)

其实这里虽然以前弄过 但是没有做笔记 现在重新做了一份

这一次卡在了 数据包 是先使用dnat 然后将修改后的数据包 在snat  所以之前我使用

iptables -t nat -A PREROUTING -p tcp -d 192.168.1.151 --dport 1521 -j DNAT --to-destination 10.10.69.4

iptables -t nat -A POSTROUTING -p tcp -d 10.192.168.1.151 --dport 1521 -j SNAT --to-source 10.10.69.10

这样的语句老是不成功  主要还是原理没有弄清楚明白 现在原理清楚了 在怎么也不会弄错了

时间: 2024-11-05 21:53:10

回顾linux端口转发 转发过程感慨的相关文章

linux端口映射转发工具rinetd

linux下简单好用的工具rinetd,实现端口映射/转发/重定向Linux下做地址NAT有很多种方法.比如haproxy.nginx的4层代理,linux自带的iptables等都能实现.haproxy.nginx就不说了,配置相对简单:iptables配置复杂,概念也比较多DNAT.SNAT.PREROUTING.POSTROUTING等等.其实,Linux下有一个叫rinetd的工具,安装简单,配置也不复杂. 1.下载安装 [[email protected] ~]# wget --no-

linux端口映射转发工具rinetd安装使用

简介 Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具.Rinetd是单一过程的服务器,它处理任何数量的连接到在配置文件etc/rinetd中指定的地址/端口对.尽管rinetd使用非闭锁I/O运行作为一个单一过程,它可能重定向很多连接而不对这台机器增加额外的负担. 安装 直接上脚本 vim install_rinetd.sh #!/bin/bash wget http://www.boutell.com/rinetd/http/rinetd.ta

linux下端口映射转发软件rinetd的使用

之前一直用iptables做转发,那繁琐的命令难得记忆,所以在这里,我们可以使用软件来达到该目的. linux端口映射转发工具rinetd安装使用 1.下载wget http://www.boutell.com/rinetd/http/rinetd.tar.gz 版本号rinetd 0.62 2.安装 tar zxvf rinetd.tar.gz cd rinetd 3.运行make  #可能会出现错误,需如下修改: vi rinetd.c 输入/bindPort >= 65536 查询 输入/

Linux端口转发的几种常用方法

0x00 背景 端口转发是一个常用的功能,不管是在服务器运维还是在渗透领域,都需要用到.在近期遇到一个问题就是一个服务的端口不能进行配置,但是由于出口硬件防火墙的原因,为了不修改硬件防火墙的策略,所以只能在本地做端口转发.因此尝试和寻找了以下的几种方法. 0x01 iptables和firewall iptables iptables是我第一个想到的方法,但却是最后一个尝试的,因为我对iptables并不熟悉. 1.打开IP转发功能. linux的IP转发功能是默认关闭的,而且根据很多安全加固策

linux下简单好用的端口映射转发工具rinetd 转

linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz 解压安装 tar zxvf rinetd.tar.gz make make install 编辑配置 vi /etc/rinetd.conf 0.0.0.0 8080 172.19.94.3 8080 0.0.0.0 2222 192.168.0

linux下简单好用的端口映射转发工具rinetd

linux下简单好用的工具rinetd,实现端口映射/转发/重定向官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/rinetd/http/rinetd.tar.gz 解压安装tar zxvf rinetd.tar.gzmakemake install[[email protected] rinetd]# make installinstall -m 700 rinetd /usr/sbininstall -m 6

Firewalld--02 端口访问/转发、服务访问、源地址管理

目录 防火墙端口访问/转发.服务访问.源地址管理 1. 防火墙端口访问策略 2. 防火墙服务访问策略 3.防火墙接口管理 4.防火墙源地址管理 5. 防火墙端口转发策略 防火墙端口访问/转发.服务访问.源地址管理 1. 防火墙端口访问策略 使用Firewalld允许客户请求的服务器的80/tcp端口,仅临时生效,如添加--permanent重启后则永久生效 1). 临时添加允许放行单个端口 [[email protected] ~]# firewall-cmd --add-port=80/tcp

20135239 益西拉姆 linux内核分析 跟踪分析Linux内核的启动过程

回顾 1.中断上下文的切换——保存现场&恢复现场 本节主要课程内容 Linux内核源代码简介 1.打开内核源代码页面 arch/目录:支持不同CPU的源代码:其中的X86是重点 init/目录:内核启动相关的代码基本都在该目录中(比如main.c等) start_kernel函数就相当于普通C程序的main函数 kernel/目录:Linux内核核心代码在kernel目录中 README 介绍了什么是Linux,Linux能够在哪些硬件上运行,如何安装内核源代码等 构造一个简单的linux系统m

(作业3)Linux内核的启动过程(从start_kernel到init进程启动)

作业题目: 详细分析从start_kernel到init进程启动的过程并结合实验截图撰写一篇署名博客,并在博客文章中注明“真实姓名(与最后申请证书的姓名务必一致) + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”,博客内容的具体要求如下: 题目自拟,内容围绕Linux内核的启动过程,即从start_kernel到init进程启动: 博客中需要使用实验截图 博客内容中需要仔细分析