Linux端口被阻止 - 无法访问此站点,拒绝连接

时间:2016-11-03 06:08:22

标签: linux networking port tcp-ip access-point

我将linux设置为访问点,然后运行简单的Web服务器,在端口3000上打印“hello world”。

并成功将其与智能手机连接。

在linux终端中,http://localhost:3000运行良好。

但在智能手机中,

如果我访问http://172.24.1.105:3000,则无法连接到它。 (172.24 ......是ap的ip)

chrome的错误消息是

  

无法访问此网站。 172.24.1.105拒绝连接

我搜索了Google(https://serverfault.com/questions/725262/what-causes-the-connection-refused-message),我怀疑是linux的防火墙。

pi@raspberrypi:~/prj/ap_server $ sudo tcpdump -n icmp
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

... when I access to port 3000, 

15:07:13.102750 IP 192.168.0.3 > 168.126.63.2: ICMP 192.168.0.3 udp port 42531 unreachable, length 386

日志在上面。所以我无法访问ap的网络服务器。

所以我想知道两件事......

1。如何禁用其端口块?

2。在tcpdump日志中,我实际上访问了端口3000,为什么日志打印端口为42531?

加)

即使我输入sudo service iptables stop,问题仍未解决

sudo netstat -ntlp | grep 3000日志:

**tcp6 0 0 :::3000 :::* LISTEN 1999/nodejs**

+我按照本教程 - > https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/

并且有ipv4设置。

3 个答案:

答案 0 :(得分:0)

如果您想在移动设备上运行它,它将适用于Live IP(外部网)地址

如果它在本地地址(localhost)上正常工作,而不是在实时IP上工作 启用路由器路由

并允许该特定端口正常工作。

答案 1 :(得分:0)

我发现了这个问题。

我的dhcp设置是

 if let cleanURLString = urlString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed),
    let theURL: Foundation.URL = Foundation.URL(string: cleanURLString) {

    var task:URLSessionDataTask?
    let urlconfig = URLSessionConfiguration.default
    urlconfig.timeoutIntervalForRequest = 20
    urlconfig.timeoutIntervalForResource = 60
    let session = Foundation.URLSession(configuration: urlconfig, delegate: self, delegateQueue: OperationQueue.main)

    let request = URLRequest(url: theURL)
    request.httpMethod = "POST"
    request.cachePolicy = URLRequest.CachePolicy.reloadIgnoringCacheData
    request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
    let paramString = YourParameterString
    request.httpBody = paramString.data(using: String.Encoding.utf8)

    task = session.dataTask(with: request) {
        (data, response, error) in
        // Do here
    })
    dataTask.resume()
}
像上面一样。

我尝试连接外接ip(interface=wlan0 # Use interface wlan0 listen-address=172.24.1.1 # Explicitly specify the address to listen on bind-interfaces # Bind to the interface to make sure we aren't sending things elsewhere server=8.8.8.8 # Forward DNS requests to Google DNS domain-needed # Don't forward short names bogus-priv # Never forward addresses in the non-routed address spaces. dhcp-range=172.24.1.50,172.24.1.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time ),我可以在移动设备上连续看到但失败了。但是当我尝试172.24.1.105时,那就成功了。

我不知道为什么。也许有准确的IP地址,移动设备中的东西是暂时的。

答案 2 :(得分:-3)

请参阅Node JS not listening to port 1337 on server

上的类似主题

您的网络服务器没有收听远程地址。