你要说这个Linux端口映射嘞,其实也没啥复杂的,就是说咱们把一个外面来的请求嘞,给它通过一个叫端口的玩意儿,转发到咱们自己内网里边的某台机器上。这样呢,别人从外面访问你外网的IP地址,通过那个特定的端口,就能找到你内网里的机器,嘿,真方便。
这玩意儿还有个高大上的名字叫“端口转发”,听着挺洋气吧?其实就是个中间人,帮你把信息从外面搬到你内部的小屋子里去。特别是用Linux系统的,端口映射是个蛮重要的事儿。很多人用它来做啥呢?做内网穿透嘞,还有各种网络服务的部署,反正用的场合不少。
Linux端口映射怎么搞呢?你要是用的是Linux系统,比如那个啥红帽嘞,或者是Centos啥的,都差不多一个路子。大伙儿一般都用一个叫iptables的东西。这个iptables可有点门道,它是专门管网络规则的,啥防火墙、啥转发规则,都归它管。可得确认你机器上头有它才行嘞。
怎么搞呢?这事儿也不难,先要把机器设置好,告诉它咱能转发数据包。你去那个配置文件里头改一下,把那个啥**_forward给打开,默认它是关着的,你得把它调成1才行,像这样:
echo 1 >/proc/sys/net/ipv4/ip_forward
然后就得用iptables开始搞端口映射啦。假如说你要把外面来的102端口的请求给转发到你内网里边某台机器的102端口,那你就得这么写:
iptables -t nat -A PREROUTING -p tcp --dport 102 -j REDIRECT --to-ports 102
这样呢,外面来的请求一到你外网IP的102端口,咱这儿就把它转到内网机器的102端口去了。是不是很神奇?
那要是想删了这个规则呢?嘿,这事儿也简单,你只需要把上面的命令稍微改一下,把那个-A改成-D就成了:
iptables -t nat -D PREROUTING -p tcp --dport 102 -j REDIRECT --to-ports 102
一旦执行了这个命令,之前那个端口映射的规则就给删除了,来去自如,想搞就搞,想删就删,反正iptables是这么个听话的工具。
要是搞不成功咋办呢?有的人遇到问题就是它老不生效,咋搞也不行。一般呢,都是防火墙的问题。你要是用的Centos嘞或者红帽这些系统,它们带着个啥firewalld的东西,你得先把这个firewalld服务给关了,不然iptables就跟它打架,搞啥都不行。
systemctl stop firewalld
关了这个firewalld,iptables就能正常干活了。你看看,Linux系统下的端口映射是不是也没那么难?不过话说回来,这个iptables嘞,说简单也不算太简单,要熟练用好,还得多练练。
总之呢,Linux端口映射就是这么个事儿,用iptables搞定它就行,前提是你得确认iptables装好了,还得会写那几个命令,照着来准没错。
Tags:[Linux端口映射, iptables, 内网穿透, 网络服务, 端口转发]