
之前主要用 CentOS ,一般就是修改 /etc/selinux/config 和关闭 firewalld 。
最近换到了 Ubuntu 20.04 ,做了如下设置。
IP:
xxx@xxx:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 04:bf:1b:80:06:4b brd ff:ff:ff:ff:ff:ff inet 192.168.1.26/16 brd 192.168.255.255 scope global noprefixroute enp3s0 valid_lft forever preferred_lft forever inet6 fe80::b31c:c7f4:6bca:b597/64 scope link noprefixroute valid_lft forever preferred_lft forever 3: wlp0s20f3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 74:3a:f4:68:ab:50 brd ff:ff:ff:ff:ff:ff 4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 02:42:9f:c4:78:0b brd ff:ff:ff:ff:ff:ff inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::42:9fff:fec4:780b/64 scope link valid_lft forever preferred_lft forever 6: veth5f39922@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default link/ether ba:ba:dd:9b:cc:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet6 fe80::b8ba:ddff:fe9b:cc03/64 scope link valid_lft forever preferred_lft forever 关闭 ufw:
sudo ufw disable sudo systemctl stop ufw sudo systemctl disable ufw sudo iptables -P INPUT ACCEPT sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT sudo iptables -F sudo netfilter-persistent save Ubuntu 上启动了一个 fastapi 的项目,本机通过 localhost 或者 ip 都可以访问。 现在内网其他设备可以 ping 通 Ubuntu ,但是所有端口都无法访问,请问可能是什么原因或者如何排查?
1 kapr1k0rn 2024-10-31 12:41:11 +08:00 via iPhone firewalld ? |
2 realpg PRO apparmor |
3 adoal 2024-10-31 12:43:36 +08:00 掩码 16……在 192.168 上很少这么配置,你确认一下客户端、服务器以及可能涉及到的网络设备是否一致。 |
4 supemaomao 2024-10-31 12:44:19 +08:00 via Android Ubuntu 上 先看监听端口有没有正常监听,在试试在上面 用 127.0.0.1 能不能访问,再考虑外部访问的情况 |
6 persona5 OP @supemaomao 监听了,127.0.0.1 可以访问 |
7 guanzhangzhang 2024-10-31 12:51:07 +08:00 你这个机器 ping 下网关,其他机器 ping 下你这个机器,其他机器上看下 arp 里这个机器 mac 地址对不对,可能 ip 冲突,你 ping 通的是其他机器 |
8 persona5 OP @guanzhangzhang 多谢多谢,测试了一下,确实是这个问题。我们要求用固定 ip 的,没想到有一段时间没用这个 ip 被人给占用了。 |
9 guanzhangzhang 2024-10-31 13:01:10 +08:00 @persona5 #8 https://github.com/zhangguanzhang/simple-container-network-book/tree/master 我写的网络基础知识 gitbook ,可以阅读下 |
10 defaw 2024-10-31 13:12:04 +08:00 遇事不决 tcpdump |
11 wangyzj 2024-10-31 14:06:12 +08:00 @guanzhangzhang #7 这个可能是对的 看一下 arp ,对一下 mac |
tcpdump |
13 dilu 2024-10-31 15:12:14 +08:00 监听的是 0.0.0.0 还是 127.0.0.1 ? |
14 seedhk 2024-10-31 16:55:22 +08:00 telnet 127.0.0.1 xxxx 端口看看通不通 netstat -anolp |grep 端口 看下有没有监听,监听的是 127.0.0.1 还是 0.0.0.0 |
15 evalfun 2024-10-31 23:52:02 +08:00 新版本的 firewalld 使用了 nftables ,所以 iptables 是看不出来的。排查一下 firewalld 和 nftables 吧 默认情况下 ubuntu 的防火墙是不开的,所有流量都能通过,你可能是看了什么教程无意间把防火墙打开的 |