来一发shell剧本转发80端口数据包
欢迎大家来到仓酷云论坛!开辟基于Node.js的WEB使用很便利,可是办事端口成绩很蛋疼,因为Linux内核划定一般用户只能利用年夜于1024的端标语,以是利用一般用户运转Node.js办事就不克不及监听80端口注重:万万不要图费事间接利用ROOT用户运转Node.js办事!这将带来没法估计的宁静成绩!
可是利用80端口作为HTTP默许端口这一习气是从MS时期就持续至今的,怎样办呢?网上有人口若悬河地说用NginX做反向代办署理之类的,实在我以为没需要这么夸大,只必要利用ROOT用户做一个一般端口与80端口的数据转发就行了,利用iptables语句以下:
复制代码代码以下:
iptables-tnat-APREROUTING-ptcp--dport80-jREDIRECT--to-port你的端标语
利用以上这条语句必要注重以下几点:
1.这条语句是一时性的,办事重视启后生效。
2.假如实行过这类语句以后,又想把80端口绑定转发到其他端口上往的话,你要先利用
复制代码代码以下:
#检察今朝端口转发划定规矩
iptables--line-numbers--listPREROUTING-tnat
#从下面语句输入的列表中找到本人之前绑定转发的端口的纪录的行号,然后用上面这句删失落这笔记录来删除转发,并且最蛋疼的是你不克不及指定转发划定规矩的特性来删除纪录,你只能告知它“删除第几行”。
iptables-tnat-DPREROUTING行号
3.利用ArchLinux的童鞋们必要注重了,大概因为内核短少模块(是iptables仍是nat来着?)而不克不及用上述语句来设置绑定转发端口,必要从头编译内核大概模块。
介于以上蛋疼成绩,我写了一个剧本,来完成主动删除纪录和主动绑定:
复制代码代码以下:
#!/bin/bash
#剧本书院www.jbxue.com
if[$#=1];then
if[$1-ge0];then
if[$1-le65535];then
#Deletealloldbindings
forline_numin$(iptables--line-numbers--listPREROUTING-tnat|grepdpt:http|awk{print$1})
do
LINES="$line_num$LINES"
done
forlinein$LINES
do
iptables-tnat-DPREROUTING$line
done
unsetLINES
#Makeanewbinding
iptables-tnat-APREROUTING-ptcp--dport80-jREDIRECT--to-port$1
echo"Port80isboundwith$1!"
exit1
fi
fi
fi
echo"PleaseinputONEPORTNUMBER!"
只必要将下面代码保留为文件(如bind80)并增加实行权限,利用以下指令便可扫除之前的纪录并将新端口举行绑定转发:
复制代码代码以下:
sudobind80端标语
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
来一发shell剧本转发80端口数据包
前一段又听说微硬公司的自动文章机出来了,估计在这儿做测试呢。 其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。 未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。 熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种: 得到到草率的回答或者根本得不到任何Linux答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。 熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种: 查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。 尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助. 为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。
页:
[1]