Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: VDS FreeBSD CURLOPT_INTERFACE

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
darthvoodoo
Отправлено: 05 Января, 2013 - 21:08:27
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Господа помогите пожалуйста разобраться в следующем:
Есть vds с несколькими ip, один из них 1111:230:2::c1.
Кладу скрипт:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $url = "http://internet.yandex.ru/";
  3.  
  4.         $ch = curl_init();
  5.          curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
  6.          curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  7.          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  8.          curl_setopt($ch, CURLOPT_NOBODY, false);
  9.          curl_setopt($ch, CURLOPT_HEADER, false);
  10.          curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
  11.          curl_setopt($ch, CURLOPT_INTERFACE, "1111:230:2::c1");
  12.          curl_setopt($ch, CURLOPT_URL, $url);
  13.          $xml_data=curl_exec($ch);
  14.     curl_close($ch);   
  15.         echo $xml_data;
  16. ?>


С опцией CURLOPT_INTERFACE скрипт не работает.
Команда ifconfig выводит:
CODE (text):
скопировать код в буфер обмена
  1. ifconfig
  2. igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  3.         options=401bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO>
  4.         ether 00:1e:67:22:9a:1e
  5.         inet 00.000.00.00 netmask 0xffffffff broadcast 62.109.18.92
  6.         inet6 1111:230:2::c1 prefixlen 64
  7.         inet6 2222:230:2::ff prefixlen 64
  8.         nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
  9.         media: Ethernet autoselect (100baseTX <full-duplex>)
  10.         status: active
  11. igb1: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
  12.         options=401bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO>
  13.         ether 00:11:67:22:9a:1f
  14.         nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
  15.         media: Ethernet autoselect
  16.         status: no carrier
  17. ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
  18.         nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
  19. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
  20.         options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
  21.         nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>


Тоесть, на сколько я понимаю, основной IP: 00.000.00.00 и 2 IPv6 прописаны в одном интерфейсе. Вопрос в следующем: нужно ли дополнительные IP выводить в отдельные интерфейсы, что бы заработал CURLOPT_INTERFACE .
P.S. Ip вымышленные.

(Отредактировано автором: 05 Января, 2013 - 21:09:57)

 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Января, 2013 - 21:18:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Интерфейсы не айпишники, а igb1, igb0, ipfw0, lo
Из них нужный и подставляйте.
(Добавление)
И если вы хотите посмотреть вообще все интерфейсы, наберите:
 
 Top
Мелкий Супермодератор
Отправлено: 05 Января, 2013 - 21:22:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




darthvoodoo пишет:
нужно ли дополнительные IP выводить в отдельные интерфейсы, что бы заработал CURLOPT_INTERFACE .

Касательно ipv4 - нет, не нужно. CURLOPT_INTERFACE корректно работает под freebsd с указанием только адреса.
По v6 сказать не могу ничего определённого, в моих деревнях ещё не встречается.


-----
PostgreSQL DBA
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Января, 2013 - 21:23:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)





Мелкий пишет:
в моих деревнях
Лестный отзыв Радость
 
 Top
darthvoodoo
Отправлено: 06 Января, 2013 - 23:09:32
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Мелкий пишет:
Касательно ipv4 - нет, не нужно. CURLOPT_INTERFACE корректно работает под freebsd с указанием только адреса.

Проверил, так и ест.
Тоесть в интерфейсе igb0 теперь прописано два ipv4 и два ipv6.
Между ipv4 скрипт переключает нормально.
При попытке прописать в CURLOPT_INTERFACE ipv6, скрипт выдаёт
Result: Failed to connect to 1111:230:2::c1 No route to host; #7

PHP:
скопировать код в буфер обмена
  1. $url = "http://ipv6.google.com/";
  2.  
  3.         $ch = curl_init();
  4.          curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
  5.          curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  6.          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  7.          curl_setopt($ch, CURLOPT_NOBODY, false);
  8.          curl_setopt($ch, CURLOPT_HEADER, false);
  9.          curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
  10.          curl_setopt($ch, CURLOPT_INTERFACE, "1111:230:2::c1");
  11.          curl_setopt($ch, CURLOPT_URL, $url);
  12.     $data=curl_exec($ch);
  13.    
  14.         $result = !curl_errno($ch) ? 'Ok' : '<b>' . curl_error($ch) . '; #' . curl_errno($ch) . '</b>';
  15.     echo 'Result: ' . $result.'<br>';
  16.     curl_close($ch);
  17.        
  18.         echo $data;


Если кто нибудь работал с curl и ipv6 подскажите пожалуйста в чём может быть проблема?
(Добавление)
Спросил в техподдержке в чём может быть проблема. Ответили: "Здравствуйте, починили - сейчас работает".
Не знаю в чём починка заключалась, но всё действительно заработало.
Всем спасибо. Вопросов больше нет.

(Отредактировано автором: 06 Января, 2013 - 23:10:50)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Администрирование *nix »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB