Linux端口映射

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux端口映射相关的知识,希望对你有一定的参考价值。

我的机器有两个网卡,eth0和eth1,我能不能把eth1的端口991映射到eth0的991端口上去,本人小白,请高手指教,麻烦您写的详细点 谢谢。

可以。请参考下面的设定:
【实现功能】

PC A是

eth0 172.18.10.212 内网

eth1 219.239.xx.xx 外网

PC B是 172.18.10.205 内网

A的8080端口映射到B的80端口

【步骤】

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

这样允许iptalbes FORWARD。

2、 在/etc/rc.d/init.d目录下有iptables 文件,使用格式如下

Usage: ./iptables start|stop|restart|condrestart|status|panic|save

相当与service iptables ....

把iptables 服务停止,清除以前的规则,存盘

到/etc/rc.d/init.d目录下,运行

./iptables stop

iptalbes -F

iptalbes -X

iptalbes -Z

./iptables save
3、 重新配置规则

iptables -t nat -A PREROUTING -d 219.239.xx.xx -p tcp --dport 8080 -j DNAT --to-destination 172.18.10.205:80

iptables -t nat -A POSTROUTING -d 172.18.10.205 -p tcp --dport 80 -j SNAT --to 172.18.10.212

iptables -A FORWARD -o eth0 -d 172.18.10.205 -p tcp --dport 80 -j ACCEPT

iptables -A FORWARD -i eth0 -s 172.18.10.205 -p tcp --sport 80 -j ACCEPT

DNAT SNAT 的请参考帮助,这里不再陈述。

4、 新的规则存盘

./iptables save

规则存盘后在/etc/sysconfig/iptables这个文件里面,若你对这个文件很熟悉

直接修改这里的内容也等于命令行方式输入规则。

5、 启动iptables 服务

./iptables start

在/proc/net/ip_conntrack文件里有包的流向,如下面

tcp 6 53 TIME_WAIT src=../../221.122.59.2 dst=219.239.xx.xx sport=7958 dport=8080 packets=9 bytes=1753

src=../../172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9 bytes=5777 [ASSURED] use=1
参考技术A 我们公司linux网关服务器共有5个网口2个外网口(eth0:119.40.x.x eth1用DNAT作端口映射 iptables -t nat -A PREROUTING -d a.b.c.d -p 参考技术B 这个是你的防火墙阻止了你对49988端口的访问,你可以用一下命令解决你的问题
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT #允许访问本机3306tcp端口
iptables -t nat -A PREROUTING -p tcp --dport 49988 -j DNAT --to 61.X.X.X:3306 #将对本机的49988映射到3306
最后保存,再开机也会生效
参考技术C http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/

LINUX服务器的端口映射

参考技术A LINUX服务器的端口映射

我在公司里的一台电脑上做了一个ftp 在内网都可以访问,上网是通过一台LINUX服务器,是实IP!我需要在外面也能访问这个FTP!.现在怎么在LINUX服务器上配置端口映射?需要改那些地方. 我对这个知道的很少!所以大家能否从登陆进去以后所有的操作都详细讲一下!

网上肯定能找到答案的,只是你没找到或不细心。照我说的做吧,我尽量解释清楚。

/etc/init.d/iptables start  启动iptables

初始化iptables,删除之前的规则,

  iptables -f

  iptables -x

  iptables -z

  iptables -f -t nat

  iptables -x -t nat

  iptables -z -t nat

允许ssh进入,要不然等下就连不上去了

iptables -a input -p tcp --dport  22  -j accept

设置默认出入站的规则

iptables -p input  drop

iptables -p output  accept

iptables -p forward accept

iptables -a input -i lo -j accept

iptables -a input -m state --state established,related -j accept

载入相应的模块

modprobe ip_tables

modprobe iptable_nat

modprobe ip_nat_ftp

modprobe ip_conntrack

modprobe ip_conntrack_ftp

配置默认的转发规则

  iptables -t nat -p prerouting  accept

  iptables -t nat -p postrouting accept

  iptables -t nat -p output      accept

允许内网连接

iptables -a input -i 内网网卡名(比如eth1) -j accept

启用转发功能

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

配置源nat,允许内网通过主机nat上网,即所谓的网络共享

iptables -t nat -a postrouting -s 内网网卡名 -o 外网网卡名 -j masquerade

把ftp服务器映射到外网

iptables -t nat -a prerouting -p tcp -d 58.222.1.3 --dport 21          -j dnat --to 192.168.0.211:21

结束,别忘了保存

service iptables save

192.168.0.211的网关应该设成这成主机192.168.0.1。这样就行了。

以上是关于Linux端口映射的主要内容,如果未能解决你的问题,请参考以下文章

WindowsServer端口映射到Linux虚拟机

LINUX服务器的端口映射

linux中IP映射问题-22端口和80端口

关于redhat4 LINUX服务器端口映射问题

linux 80端口映射到8080

WINDOWS和LINUX端口映射