У меня есть сервер Ubuntu со 128 IP-адресами (статический внешний IP-адрес 86.xx.xx.16), и я хочу сканировать страницы через разные IP-адреса. Шлюз - xx.xxx.xxx.1, основной ip - xx.xxx.xxx.16, а остальные 128 ip - xx.xxx.xxx.129 / 255. Я пробовал эту конфигурацию в / etc / network / interfaces, но у меня не работает. Это сработает, если я удалю шлюз для псевдонимов eth0: 0 и eth0: 1. Я думаю, это проблема маршрутизации.
auto lo
iface lo inet loopback
auto eth0
auto eth0:0
auto eth0:1
iface eth0 inet static
address xx.xxx.xxx.16
netmask 255.255.255.128
gateway xx.xxx.xxx.1
iface eth0:0 inet static
address xx.xxx.xxx.129
netmask 255.255.255.128
gateway xx.xxx.xxx.1
iface eth0:1 inet static
address xx.xxx.xxx.130
netmask 255.255.255.128
gateway xx.xxx.xxx.1
Также скажите, пожалуйста, как «сбросить» все изменения, которые я внес в сети и маршрутизацию.
Обновить:
Я удалил шлюз и теперь он работает. Я могу зайти на сайт через все 128 IP.
Но когда я пытаюсь привязать сокетное соединение в php к определенному ip, я не получаю ответа.
socket_bind($sock, "xx.xxx.xx.xxx");
socket_connect($sock, 'google.com', 80);
Я попытался использовать сниффер для просмотра пакетов, и я вижу пакет, отправленный с привязанного IP-адреса на google.com, но «соединение» не может быть установлено.
Я ничего не знаю о команде "route", но чувствую, что это решение.
Проблема решена. Мой интернет-провайдер перенаправил IP-адреса и теперь работает.
Это не работает, потому что это только один интерфейс и один шлюз ... если вы не хотите делать какое-то распределение / балансировку трафика / ... должен быть только ОДИН шлюз по умолчанию.
Вам нужно ПРИВЯЗАТЬ любую программу, которую вы используете для "сканирования Интернета", с желаемым IP-адресом.
просто оставьте шлюз на eth0 и удалите его с eth0: X, и все будет хорошо ...
Просто отредактируйте свой вопрос, когда у вас будет обновление, если только это обновление не является ответом. Вы должны удалить этот ответ. Я переместил его на вопрос к вам.
-Кайл