Можно изменить исходный IP-адрес, если ваш локальный сетевой интерфейс имеет несколько IP-адресов.
Предположим, у вас есть сервер с двумя IP-адресами: 1.1.1.10
и 2.2.2.20
:
.
$ ip route
default via 1.1.1.193 dev eth0
1.1.1.192/27 via 1.1.1.193 dev eth0
1.1.1.192/27 dev eth0 proto kernel scope link src 1.1.1.10
2.2.2.20 via 2.2.2.20 dev eth0 scope link
Вы можете проверить свой текущий общедоступный IP-адрес с помощью замечательного веб-сервиса ifconfig.co :
.
$ curl -4 ifconfig.co
1.1.1.10
Чтобы получить доступ к веб-службе ifconfig.co с использованием другого IP-адреса (2.2.2.20
), вы можете создать маршрут на основе IP-адреса целевого сервера. Используйте dig, чтобы найти целевые IP-адреса из записей DNS A
:
.
$ dig ifconfig.co
...
ifconfig.co. 39 IN A 104.28.18.94
ifconfig.co. 39 IN A 104.28.19.94
...
Теперь добавьте пользовательские маршруты для этих IP-адресов.:
$ ip route add 104.28.18.94/32 via 1.1.1.193 dev eth0 src 2.2.2.20
$ ip route add 104.28.19.94/32 via 1.1.1.193 dev eth0 src 2.2.2.20
Снова запустив curl, вы видите, что используете другой исходный IP-адрес:
$ curl -4 ifconfig.co
2.2.2.20
Кроме того, информация о маршрутизации обновлена :
$ ip route
default via 1.1.1.193 dev eth0
1.1.1.192/27 via 1.1.1.193 dev eth0
1.1.1.192/27 dev eth0 proto kernel scope link src 1.1.1.10
2.2.2.20 via 2.2.2.20 dev eth0 scope link
104.28.18.94 via 1.1.1.193 dev eth0 src 2.2.2.20
104.28.19.94 via 1.1.1.193 dev eth0 src 2.2.2.20
Примечание :это работает только в том случае, если исходный IP-адрес может быть разрешен для вашего сервера, в противном случае рукопожатие TCP 3 -не удастся, как указано здесь .
Это работает (я пытаюсь включить видео на rpi4):
# mkdir /sys/kernel/config/device-tree/overlays/vc4-fkms-v3d/
# cat vc4-kms-v3d.dtbo > /sys/kernel/config/device-tree/overlays/vc4-fkms-v3d/dtbo
# cat /sys/kernel/config/device-tree/overlays/vc4-fkms-v3d/status
applied