之前主要用 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 30 天前 via iPhone
firewalld ?
|
2
realpg 30 天前
apparmor
|
3
adoal 30 天前
掩码 16……在 192.168 上很少这么配置,你确认一下客户端、服务器以及可能涉及到的网络设备是否一致。
|
4
supemaomao 30 天前 via Android 1
Ubuntu 上 先看监听端口有没有正常监听,在试试在上面 用 127.0.0.1 能不能访问,再考虑外部访问的情况
|
6
persona5 OP @supemaomao 监听了,127.0.0.1 可以访问
|
7
guanzhangzhang 30 天前 2
你这个机器 ping 下网关,其他机器 ping 下你这个机器,其他机器上看下 arp 里这个机器 mac 地址对不对,可能 ip 冲突,你 ping 通的是其他机器
|
8
persona5 OP @guanzhangzhang 多谢多谢,测试了一下,确实是这个问题。我们要求用固定 ip 的,没想到有一段时间没用这个 ip 被人给占用了。
|
9
guanzhangzhang 30 天前 1
@persona5 #8 https://github.com/zhangguanzhang/simple-container-network-book/tree/master 我写的网络基础知识 gitbook ,可以阅读下
|
10
defaw 30 天前
遇事不决 tcpdump
|
11
wangyzj 30 天前
@guanzhangzhang #7 这个可能是对的
看一下 arp ,对一下 mac |
12
miyuki 30 天前
tcpdump
|
13
dilu 30 天前
监听的是 0.0.0.0 还是 127.0.0.1 ?
|
14
seedhk 30 天前
telnet 127.0.0.1 xxxx 端口看看通不通
netstat -anolp |grep 端口 看下有没有监听,监听的是 127.0.0.1 还是 0.0.0.0 |
15
evalfun 30 天前
新版本的 firewalld 使用了 nftables ,所以 iptables 是看不出来的。排查一下 firewalld 和 nftables 吧
默认情况下 ubuntu 的防火墙是不开的,所有流量都能通过,你可能是看了什么教程无意间把防火墙打开的 |