У меня сейчас проблемы с доступом в Интернет на моем сервере Ubuntu 18.04. На сервере включены ДВЕ NIC. Я могу пинговать шлюз по умолчанию и внутренние IP-адреса, но не могу пинговать внешний IP-адрес. Я проверил брандмауэр и увидел, что эхо-запросы разрешены и уходят, но я не получаю ничего обратно. Я включил свою сетевую конфигурацию ниже. Спасибо.
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: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:81:04:0d brd ff:ff:ff:ff:ff:ff
inet 172.18.248.27/24 brd 172.18.248.255 scope global ens160
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe81:40d/64 scope link
valid_lft forever preferred_lft forever
3: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:50:56:81:76:4c brd ff:ff:ff:ff:ff:ff
inet 172.18.254.27/24 brd 172.18.254.255 scope global ens192
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe81:764c/64 scope link
valid_lft forever preferred_lft forever
Pinging to Google принудительно из интерфейса,
ping -I ens160 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 172.18.248.27 ens160: 56(84) bytes of data.
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4092ms
Обычный ping to Google,
ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
--- 8.8.8.8 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5104ms
Ping to DG,
ping 172.18.248.254
PING 172.18.248.254 (172.18.248.254) 56(84) bytes of data.
64 bytes from 172.18.248.254: icmp_seq=1 ttl=64 time=0.767 ms
64 bytes from 172.18.248.254: icmp_seq=2 ttl=64 time=0.800 ms
^C
--- 172.18.248.254 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1024ms
rtt min/avg/max/mdev = 0.767/0.783/0.800/0.032 ms
Tracepath to Google,
tracepath 8.8.8.8
1?: [LOCALHOST] pmtu 1500
1: ??? 4.654ms
1: ??? 4.709ms
2: no reply
3: no reply
4: no reply
5: no reply
6: no reply
^C
Routes,
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.18.248.254 0.0.0.0 UG 0 0 0 ens160
172.18.248.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
172.18.254.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192
IP route list,
default via 172.18.248.254 dev ens160 proto static
172.18.248.0/24 dev ens160 proto kernel scope link src 172.18.248.27
172.18.254.0/24 dev ens192 proto kernel scope link src 172.18.254.27
/ etc / netplan Файл,
network:
ethernets:
ens160:
addresses:
- 172.18.248.27/24
gateway4: 172.18.248.254
nameservers:
addresses:
- 8.8.8.8
ens192:
addresses:
- 172.18.254.27/24
gateway4: 172.18.254.254
nameservers:
addresses:
- 8.8.8.8
version: 2
РЕДАКТИРОВАТЬ:
Думаю, я нашел его. Вот результат команды netstat -r на машине (M1), которая не может получить доступ к Интернету.
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 172.18.248.254 0.0.0.0 UG 0 0 0 ens160
default 172.18.254.254 0.0.0.0 UG 0 0 0 ens192
172.18.248.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
172.18.254.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192
Вот команда netstat -r на машине (M2), которая МОЖЕТ подключиться к Интернету, в той же подсети.
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default _gateway 0.0.0.0 UG 0 0 0 ens160
172.18.248.0 0.0.0.0 255.255.255.0 U 0 0 0 ens192
172.18.254.0 0.0.0.0 255.255.255.0 U 0 0 0 ens160
Так что я считаю, что это неправильная конфигурация маршрутизации ядра. Кто-нибудь знает, как я могу исправить его, чтобы имитировать конфигурацию M2?
Исходя из предоставленной вами информации, мы можем предположить следующую топологию сети:
+------------------+
| M1 |
| |172.18.254.27/24
+-----------+ ens160 ens192 +------------+
| | | |
| | | |
| +------------------+ | +----------------+
| | | Gateway |
172.18.248.0/24 +---------+ |
| +------------------+ | | 172.18.254.254 |
| | M2 | | +----------------+
| | | |
+-----------+ ens192 ens160 +------------+
| |
| |
+------------------+
Исходя из вашей конфигурации M2, шлюз находится в сети 172.18.254.0/24
.
Когда вы редактируете параметры маршрутизации или IP с помощью инструментов командной строки, таких как ip-адрес
и ip-маршрут
, изменения не сохраняются, то есть не сохранятся после перезагрузки.
Для постоянных изменений отредактируйте файл netplan
и удалите выход из интерфейса ens160
.
После сохранения файла необходимо применить его:
sudo netplan apply
В случае, если у вас есть резервный шлюз в сети 172.18.248.0/24
, вам потребуется сместить маршруты по умолчанию с другими значениями метрик.
Это можно сделать, отредактировав файл netplan
следующим образом:
network:
ethernets:
ens160:
addresses:
- 172.18.248.27/24
#gateway4: 172.18.248.254 #Commented out
routes:
- to: 0.0.0.0/0
via: 172.18.248.254
metric: 10 #higher metric than default 0 on ens192
nameservers:
addresses:
- 8.8.8.8
ens192:
addresses:
- 172.18.254.27/24
gateway4: 172.18.254.254
nameservers:
addresses:
- 8.8.8.8
version: 2
Метрика по умолчанию для статического маршрута — 0. Метрика по умолчанию для шлюза, полученного от DHCP, — 100.