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端口映射的主要内容,如果未能解决你的问题,请参考以下文章