通过iptables可以做转发

#!/bin/sh
IPT="/sbin/iptables"
/bin/echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
$IPT -F
$IPT -t nat -F
$IPT -X
$IPT -t nat -X
$IPT -Z
$IPT -t nat -Z
#DNAT 做端口转发
$IPT -t nat -A PREROUTING -d 192.168.0.174 -p tcp --dport 28 -j DNAT --to-destination 192.168.9.101:22
#SNAT 做端口转发
$IPT -t nat -A POSTROUTING -p tcp -d 192.168.9.101 --dport 22 -j SNAT --to-source 192.168.0.174 #SNAT 做网关转发
#$IPT -t nat -A POSTROUTING -s 192.168.0.0/16 -j SNAT --to-source 210.72.24.15

说明:

DNAT 做端口转发

是将对外网ip 192.168.0.174的访问,映射到对内网ip 192.168.9.101的访问;

备注:

首先需要启用NAT需要在Linux上打开内核对IP包的转发支持,linux上编辑:/etc/sysctl.conf 文件:

net.ipv4.ip_forward = 1

然后执行

sysctl -p

对于单网卡虚拟网卡的场景

#!/bin/sh
IPT="/sbin/iptables"
/bin/echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
$IPT -F
$IPT -t nat -F
$IPT -X
$IPT -t nat -X
$IPT -Z
$IPT -t nat -Z iptables -t nat -A PREROUTING -p tcp --dport 8082 -i enp6s0f1 -d 20.20.20.247 -j DNAT --to-destination 192.168.0.1:80
iptables -t nat -A POSTROUTING -j MASQUERADE

上面的操作可以配置虚拟网卡iptable转发的访问

写于: 2014年08月04日

更新于: 2015年03月24日

使用iptables做端口转发的更多相关文章

  1. iptables做端口转发

    一.用iptables做本机端口转发 比如80端口转8080端口 代码如下:   iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT ...

  2. 利用iptables做端口转发

    需求背景: A与C不在同一网段无法直接访问,而A和B,C和B可以互通.现需要A借助B访问C的3306端口. 解决方案: 利用iptables配置规则,实现端口转发. 具体操作: 在B上开启端口转发功能 ...

  3. iptables 设置端口转发/映射

    iptables 设置端口转发/映射 服务器A有两个网卡 内网ip:192.168.1.3 外网ip:10.138.108.103 本地回环:127.0.0.1 服务器B有网卡,8001提供服务 内网 ...

  4. centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发

    centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm ...

  5. Ubuntu环境下的iptables的端口转发配置实例

    打开转发开关要让iptables的端口转发生效,首先需要打开转发开关方法一:临时打开,重启后失效$sudo su#echo 1 >/proc/sys/net/ipv4/ip_forward 方法 ...

  6. centos6.5 iptables实现端口转发

    将本地接口IP 61.144.a.b 的3389端口 转发到 116.6.c.d的3389      (主要访问到61.144.a.b的3389端口,就会跳转到116.6.c.d的3389) [步骤] ...

  7. iptables设置端口转发

    转自:https://blog.csdn.net/sigangjun/article/details/17412821 一 从一台机到另一台机端口转发 启用网卡转发功能 #echo 1 > /p ...

  8. CentOS系统中使用iptables设置端口转发

    echo 1 > /proc/sys/net/ipv4/ip_forward 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0  ...

  9. linux下用用iptables做端口映射的shell

    情形一:跨网络.跨主机的映射Full-Nat 我们想到达主机B的80端口,但是由于网络限制可能无法直接完成.但是我们可以到达主机A的8080端口,而主机A可以直接到达B的80端口.这时候可以使用ipt ...

随机推荐

  1. lambda函数小结

    C++中的lambda函数 lambda函数是函数式编程中的概念,由C++11引入,成为现代C++中重要的特性. 所谓lambda函数就是匿名函数,语法结构: [capture list] (para ...

  2. 【编程学习笔记】如何组织构建多文件 C 语言程序!编程也有~

    优秀 Unix 程序哲学 首先,你要知道这个 C 程序是一个 Unix 命令行工具.这意味着它运行在(或者可被移植到)那些提供 Unix C 运行环境的操作系统中.当贝尔实验室发明 Unix 后,它从 ...

  3. Android ContentProvider 基本原理和使用详解

    ContentProvider(内容提供者)是 Android 的四大组件之一,管理 Android 以结构化方式存放的数据,以相对安全的方式封装数据(表)并且提供简易的处理机制和统一的访问接口供其他 ...

  4. VS code开发工具的使用教程

    前言 工欲善其事必先利其器,提高程序员的开发效率必须要有一个好的开发工具,当前最好的前端开发工具主要有VS code.sublime Text.Atom.Webstorm.Notepad++. VS ...

  5. k8s- centos7.8搭建

    vmware16.0 centos7.8 1. 使用vmware安装 centos环境  cpu4个 内存4G 网络nat模式 2.配置网络 vim /etc/sysconfig/network-sc ...

  6. TimeSpan时间间隔详解

    1 public string GetShiXian(string fadanshijian) 2 { 3 string result,chulishijian; 4 5 DateTime fdTim ...

  7. MySQL安装版本介绍

    MySQL安装 源码安装 二进制格式的程序包 程序包管理器安装 yum dnf MySQL在CentOS上的情况 6上只有mySQL 7上只有mariadb 8上既有mysql也有mariadb Ce ...

  8. Android 限制控件多次点击

    有时候多次点击页面会连续弹出多个页面,这时候写一个方法控制一下就OK.  private static long lastClickTime; public synchronized static b ...

  9. Vue 学习第二部

    目录 通过axios实现数据请求 json json数据的语法 js中是提供的接送数据转换方法 ajax 数据接口 ajax的使用 同源策略 ajax跨域(跨源)方案之cors 组件化开发 组件[co ...

  10. Bitmap缩放(一)

    使用矩阵进行压缩,通过缩放图片尺寸,来达到压缩图片的效果,和采样率的原理一样.先用位图的option将位图压缩一半,再用matrix缩放0.3f public class MainActivity e ...