云计算

这篇文章将为大家详细讲解有关linux如何监听非本地地址,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

较新版本的linux协议栈提供了绑定非本地地址的功能,bind的使用可以更灵活。该功能默认关闭,如果需要打开,修改proc sys文件:

    # echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind

内核对应的实现代码:

    inet_bind()    …     if (!net->ipv4.sysctl_ip_nonlocal_bind &&    !(inet->freebind || inet->transparent) &&    addr->sin_addr.s_addr != htonl(INADDR_ANY) &&    chk_addr_ret != RTN_LOCAL &&    chk_addr_ret != RTN_MULTICAST &&    chk_addr_ret != RTN_BROADCAST)goto out;

稍微注意下,这个功能不只是给tcp用的。

关于“linux如何监听非本地地址”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。