每天进步一点点: Linux普通用户下程序绑定特权端口(iptables转发)

in #iptables6 years ago (edited)

我在Linux的普通用户下运行一组程序,想让其中的一个程序监听1024以下的端口,结果运行程序提示权限不足,无法绑定端口。


(图源 :pixabay)

难道需要我把这组程序复制到root用户下,以root权限执行?那这样的话,为了安全我特意搞了个普通用户岂不是就没有意义了。

想了想,最简单的办法就是使用iptables转发啦,执行下列指令即可:

sudo iptables -t nat -A PREROUTING -p tcp --dport 666 -j REDIRECT --to-ports 12345

这句的意思是,将666的端口tcp访问,重定向到12345。效果就是如果我们的程序绑定到12345端口,但是使用666端口也可以访问,和绑定666端口效果相当

尽管iptables也需要root权限来执行,但是这类酒精久经考验的软件安全性要靠谱得多得多。

使用iptables转发,需要先开启相关功能

sudo vi /etc/sysctl.conf

在其中将net.ipv4.ip_forward = 0修改为net.ipv4.ip_forward = 1,然后执行如下指令使其生效:

sudo sysctl -p

是不是很简单啦?明天再介绍另外一种方法。

Sort:  

前面这位君,我喜欢本博文的题目:“每天进步一点点,……”。

虽然内容看不太懂,但是喜欢你的题目。

Coin Marketplace

STEEM 0.24
TRX 0.25
JST 0.039
BTC 96247.25
ETH 3349.36
USDT 1.00
SBD 3.28