我正在创建一个新的虚拟界面:
ifconfig eth0:0 123.123.22.22命令netstat -tlnp返回如下内容:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:50505 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:7337 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:3790 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 2450/Xvnc4
tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN 2626/Xvnc4
tcp 0 0 192.168.2.77:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3001 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:52698 0.0.0.0:* LISTEN 3488/plugin_host
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN -
tcp6 0 0 ::1:7337 :::* LISTEN -
tcp6 0 0 :::5901 :::* LISTEN 2450/Xvnc4
tcp6 0 0 :::5902 :::* LISTEN 2626/Xvnc4
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 ::1:5432 :::* LISTEN -
tcp6 0 0 ::1:6010 :::* LISTEN - 因此,如果我为虚拟接口和物理接口创建nmap,结果将是相同的(这将用netstat中的"Local“值来解释)。我试图关闭这个新虚拟接口中的端口(5901,5902,6001,6002)。两个接口的nmap:
PORT STATE SERVICE
5901/tcp open vnc-1
5902/tcp open vnc-2
6001/tcp open X11:1
6002/tcp open X11:2命令:
sudo iptables -A INPUT -i eth0:0 -p tcp --dport 5901 -j DROP端口将是不可访问的,但是是打开的(对于nmap)。有什么方法可以阻止eth0:0从0.0.0.0监听流量吗?
如果主机有两个IP地址,分别为192.168.1.1和10.1.2.1,并且在主机上运行的服务器监听0.0.0.0,则这两个IP都可以到达。(wiki)
发布于 2017-12-06 11:06:25
要模拟第二个(虚拟)以太网卡,在现有网卡的基础上使用不同的MAC,并从不同的命名空间(例如容器),您需要一个macvlan接口。
这里是如何在Docker容器中使用它们的说明。
您似乎对您尝试过的一些网络功能背后的原则感到有点困惑。也许以下几点是有帮助的:
eth0:0只是ifconfig工具在某些接口上处理第二个IP地址的旧方法。如果您使用像ip addr这样的新工具,它只会在eth0上显示第二个IP地址。这只适用于OSI级别3,因此没有不同的MAC地址,它不会与网络命名空间交互,比如在docker中,而且通常使用起来很麻烦,因为您必须确保每个应用程序都正确地绑定到其中一个地址。该绑定是防止应用程序侦听0.0.0.0的必要条件;没有办法一般性地阻止"eth0:0从0.0.0.0侦听流量“(忽略这种形式的句子根本没有意义;接口没有侦听,应用程序正在通过绑定侦听某些IP地址和/或某些接口)。iptables允许您进行数据包过滤,用于防火墙、NAT等。它不允许您更改MAC地址,控制哪个应用程序监听哪个地址,等等。modprobe”也是没有意义的:modprobe是加载内核模块的一种方式,如果您不能说明您想要使用哪个内核模块,用于什么目的,以及为什么它一开始没有自动加载,这句话没有传达任何信息。另外,请阅读XY问题:当你想做X,并认为你可能需要做Y到X,总是问X,然后提到你尝试Y。在很多情况下(如这里)Y是完全错误的。
https://unix.stackexchange.com/questions/408958
复制相似问题