linux只能root,linux – 网络接口绑定似乎只能以root身份运行

本文描述了一个CentOS7服务器配置了两个网络接口,一个连接LAN,另一个连接DMZ。当以root用户身份运行curl命令时,流量会通过DMZ接口,而非指定的LAN接口。非root用户使用curl--interface选项时,命令可能无法正常执行。解决方案是赋予用户CAP_NET_RAW权限或以root身份运行。这个问题涉及到Linux网络接口绑定和权限管理。
摘要由CSDN通过智能技术生成

我有一个带有两个网络接口的CentOS 7服务器.一个指向我们的LAN(ens32),另一个指向我们的DMZ(ens33).

虽然LAN接口工作正常,但我注意到,如果以root用户身份登录,流量似乎只会遍历DMZ接口,我不确定这意味着什么,或者它是否对我遇到的其他问题有任何净影响.

例如,如果我运行:

curl --interface ens32 ipecho.net/plain

作为非root用户,我将获得该接口的公共IP.

如果我跑:

curl --interface ens33 ipecho.net/plain

作为非root用户,命令似乎停止,我将被迫杀死进程.

如果我以root身份运行上一个命令,我将得到预期的输出,即该接口的公共IP.

任何人都可以解释这里可能发生的事情吗?

解决方法:

正如在官方curl页面中可以看到的,要指定/绑定到特定接口,需要具有CAP_NET_RAW或以root身份运行.

因此root可以进行绑定/路由,并且它不适合普通用户.

当普通用户使用curl时,如果不允许使用–interface选项,则服务器的默认路由规则将适用于该操作.

–interface

Perform an operation using a specified interface. You can enter

interface name, IP address or host name. An example could look like:

curl –interface eth0:1 07001

If this option is used several times, the last one will be used.

On Linux it can be used to specify a VRF, but the binary needs to

either have CAP_NET_RAW or to be ran as root.

More information about

Linux VRF: 07002

标签:linux,networking

来源: https://codeday.me/bug/20190814/1654614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值