文档章节

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

w
 wilim2009
发布于 2017/08/25 15:27
字数 364
阅读 4
收藏 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
博文 13
码字总数 7742
作品 0
东城
程序员
Docker容器之内网独立IP访问

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

xiaoyaokeyx
08/10
0
0
Linux 上的基础网络设备详解

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

ustbgaofan
2014/12/17
0
0
终于搞点iptables端口映射了,

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

JavaGG
2010/03/24
0
1
从外网访问局域网内的主机的方法(端口映射)

首先要做的事情如下: 1、确认你内网的路由器是否支持端口映射功能 2、如果你的路由器支持端口映射功能,在你本机安装远程控制软件 3、远程控制软件安装后,设置路由器,输入远程控制软件的端...

lingfeng72
2015/11/20
0
0
Linux Cluster Director (调度器)

Linux Cluster (Linux集群) Cluster: 计算机集合, 为了解决某个特定问题而结合起来; 系统的扩展方式: Scale Up: 向上扩展; 如: 向原有的机器添加内存, CPU. Scale Out: 向外扩展; 如: 向原有...

520的罗
07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 恨不得给你买张飞机挂票

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席灵魂师:分享张希/曹方的单曲《认真地老去》 来不及认真的年轻过,就认真的老去! 《认真地老去》- 张希/曹方 手机党少年们想听...

小小编辑
19分钟前
27
5
如何实现靠谱的分布式锁?

分布式锁,是用来控制分布式系统中互斥访问共享资源的一种手段,从而避免并行导致的结果不可控。基本的实现原理和单进程锁是一致的,通过一个共享标识来确定唯一性,对共享标识进行修改时能够...

郑加威
今天
1
0
Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
4
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部