文档章节

Linux系统端口映射(路由转发)

w
 wilim2009
发布于 2017/08/25 15:27
字数 364
阅读 9
收藏 0

Linux系统端口映射(路由转发),首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0。

启用网卡转发功能

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

这样允许iptalbes FORWARD。

此规则及时生效,但重启后就失效了,需要在配置文件里添加

vim /etc/sysctl.conf

复制代码

net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
#每个消息队列的最大字节限制
kernel.msgmax = 65536
#每个消息的最大size
kernel.shmmax = 68719476736
#内核参数定义单个共享内存段的最大值
kernel.shmall = 4294967296
#控制共享内存页数
# sysctl –p(使之立即生效)

默认值0是禁止ip转发,修改为1即开启ip转发功能。

配置端口转发

vi /etc/sysconfig/iptables 添加*nat段

*nat

:PREROUTING ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A PREROUTING -d 202.168.349.101 -p tcp --dport 16688 -j DNAT --to-destination 192.168.2.35:16688

-A POSTROUTING -d 192.168.2.35 -p tcp --dport 16688 -j SNAT --to 192.168.2.55

COMMIT

其中,202.168.349.101为外网ip,192.168.2.35为内网ip,16688为做转发的端口,192.168.2.55为转发到的目标ip

重启iptables

service iptables restart

测试转发

telnet 192.168.2.35 16688

 

本机端口转发

如果只需要在本机间不同的端口转发就比较容易了,比如 访问 http://ip:729 我想返回 http://ip:80 的内容,配置如下:

[root@localhost sbin]# iptables -t nat -A PREROUTING -p tcp --dport 729 -j REDIRECT --to-ports 80 [root@localhost sbin]# service iptables save [root@localhost sbin]# service iptables restart

 

© 著作权归作者所有

共有 人打赏支持
w
粉丝 2
博文 18
码字总数 11439
作品 0
东城
程序员
私信 提问
Docker容器之内网独立IP访问

Docker容器之内网独立IP访问 实验介绍 今天在学习Docker容器的时候,在虚拟机中创建并开启了一个nginx的container,然后通过端口映射的方法,即将container的80端口映射到虚拟机的80端口,然...

xiaoyaokeyx
2018/08/10
0
0
终于搞点iptables端口映射了,

搞了一天,终于搞定iptables了,,开头就对着人家配对了的配置对抄,但怎也不对,在网上搜了N多文章也不对,终于找到了一篇比较详细的,看了二次,终于配置成功,现在可以用端口映射访问内网...

JavaGG
2010/03/24
18.4K
1
你必须了解的基础的 Linux 网络命令

摘要:有抱负的 Linux 系统管理员和 Linux 狂热者必须知道的、最重要的、而且基础的 Linux 网络命令合集。 在 It's FOSS 我们并非每天都谈论 Linux 的“命令行方面”。基本上,我更专注于 Li...

局长
2016/09/24
4K
6
Internet路由-主机路由表和转发表

1.路由表 路由信息最终要存储在用于路由器的主机或者专业路由器上,存放这些信息的地方称为路由表。其中包含三元素:目标地址,掩码,下一跳。 1.1.查询路由表的开销 有人认为查询路由表是一...

晨曦之光
2012/04/10
544
0
Linux 上的基础网络设备详解

Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成...

ustbgaofan
2014/12/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解JVM—JVM内存模型

深入理解JVM—JVM内存模型 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存...

onedotdot
37分钟前
1
0
MVC、MVCS、MVVM、MVP、VIPER等这么多架构模式哪一个好呢?

在项目开启阶段,其中一个很重要的环节就是选架构。 那么面对目前已知的这么多架构模式我们该怎么选择呢?这确实是个很让人头疼的问题! 下面我就在这里梳理一下目前常见的一些架构模式。 先...

Java干货分享
今天
4
0
简单模仿配置文件的反射机制

//Student类 public class Student { public void love() { System.out.println("python"); } } //Tesy类 public class Tesy { public static void main(String[] args) throws Exceptio......

南桥北木
今天
2
0
你真的需要了解一下CSS变量 var()的用法

当Web项目变得越来越大时,他的CSS会变得像天文数字那么大而且还变得混乱。为了帮助我们解决这个问题,新的CSS变量很快就会出现在主流浏览器中,它让开发人员能够重用并轻松编辑重复出现的C...

前端小攻略
今天
2
0
嵌入式应用选择合适的微控制器

为嵌入式应用选择微控制器有几个原因,即低成本,高集成度,增加可靠性,节省空间等。 准备所需硬件接口列表使用微控制器的基本硬件框图,准备一份微控制器需要支持的所有外设接口的列表。微...

linux-tao
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部