Re[9]: как программно настроить ethernet интерфейс?
От: slava_phirsov Россия  
Дата: 22.09.08 11:25
Оценка:
Здравствуйте, netch80, Вы писали:

N>Например: собственный MAC сервера на соответствующей сетевухе 00:01:16:12:34:56, IP — 192.168.0.2 и 192.168.0.12.

N>Собственный MAC второго сервера на соответствующей сетевухе 00:01:16:12:34:AA, IP — 192.168.0.3.
N>Они оба с этими адресами будут работать независимо от CARP, и будет соответствие этих IP этим макам (каждому — по-своему).

N>Настраивается CARP, номер группы надёжности 40, IP 192.168.0.1.

N>Соответствующий MAC будет 0:00:5E:00:01:28. Сервер, который его принял, будет отвечать на ещё один MAC и соответствующий ему IP.

То есть, сервер в результате отвечает и на обращения по "виртуальному" адресу и на обращения по своему "реальному" адресу?
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re[10]: как программно настроить ethernet интерфейс?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.09.08 11:26
Оценка:
Здравствуйте, slava_phirsov, Вы писали:

_>То есть, сервер в результате отвечает и на обращения по "виртуальному" адресу и на обращения по своему "реальному" адресу?


Да.
The God is real, unless declared integer.
Re[11]: как программно настроить ethernet интерфейс?
От: slava_phirsov Россия  
Дата: 22.09.08 14:52
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, slava_phirsov, Вы писали:


_>>То есть, сервер в результате отвечает и на обращения по "виртуальному" адресу и на обращения по своему "реальному" адресу?


N>Да.


Хм. А не является ли это потенциальным источником уязвимости? Сразу приходят в голову "фальсификация виртуального адреса", "DoS атака на сервер захвативший виртуальный адрес, с последующей его фальсификацией".... Осеннее обострение бреда сверхценных идей .....
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Re[12]: как программно настроить ethernet интерфейс?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 22.09.08 15:12
Оценка:
Здравствуйте, slava_phirsov, Вы писали:

_>>>То есть, сервер в результате отвечает и на обращения по "виртуальному" адресу и на обращения по своему "реальному" адресу?

N>>Да.
_>Хм. А не является ли это потенциальным источником уязвимости?

Является. Как и весь ethernet в принципе.

_> Сразу приходят в голову "фальсификация виртуального адреса", "DoS атака на сервер захвативший виртуальный адрес, с последующей его фальсификацией".... Осеннее обострение бреда сверхценных идей :))) .....


Привинтите security на свитч...
The God is real, unless declared integer.
Re[4]: как программно настроить ethernet интерфейс?
От: Socrat Россия  
Дата: 20.12.08 15:52
Оценка:
Здравствуйте, mansur, Вы писали:

P>>спасибо, но мне под вистой надо


И в каком порядке надо вызывать какие функции?
Re[5]: как программно настроить ethernet интерфейс?
От: mansur https://netmontools.com
Дата: 21.12.08 06:59
Оценка:
Здравствуйте, Socrat, Вы писали:

S>И в каком порядке надо вызывать какие функции?


Поищите книгу "Network Programming for Microsoft Windows eBook", Appendix B-IP Helper Functions, Ipconfig.

С уважением mansur.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[6]: как программно настроить ethernet интерфейс?
От: Socrat Россия  
Дата: 21.12.08 20:47
Оценка:
Здравствуйте, mansur, Вы писали:

S>>И в каком порядке надо вызывать какие функции?


M>Поищите книгу "Network Programming for Microsoft Windows eBook", Appendix B-IP Helper Functions, Ipconfig.


Спасибо. Я так понял, надо добавить свой адрес и удалить старый? У меня удалять старый не получается, хотя новый удаляет спокойно...
Re[7]: как программно настроить ethernet интерфейс?
От: mansur https://netmontools.com
Дата: 23.12.08 18:12
Оценка:
Здравствуйте, Socrat, Вы писали:

S>Спасибо. Я так понял, надо добавить свой адрес и удалить старый? У меня удалять старый не получается, хотя новый удаляет спокойно...


Навскидку сразу не вспомню, но в своей утилите http://netmontools.com/download/prolanet-setup.exe получалось изменить и адрес\маску, и добавить алиасы.
С уважением mansur.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[8]: как программно настроить ethernet интерфейс?
От: Socrat Россия  
Дата: 24.12.08 18:22
Оценка:
Здравствуйте, mansur, Вы писали:

S>>Спасибо. Я так понял, надо добавить свой адрес и удалить старый? У меня удалять старый не получается, хотя новый удаляет спокойно...


M>Навскидку сразу не вспомню, но в своей утилите http://netmontools.com/download/prolanet-setup.exe получалось изменить и адрес\маску, и добавить алиасы.



А можно взглянуть на исходники функции, которая меняет IP?
Re[9]: как программно настроить ethernet интерфейс?
От: mansur https://netmontools.com
Дата: 25.12.08 06:41
Оценка:
Здравствуйте, Socrat, Вы писали:

S>А можно взглянуть на исходники функции, которая меняет IP?


Нет проблем:

// Тип указателя на функции GetAdaptersInfo и т.д 
typedef DWORD(CALLBACK* PTR_GETADAPTERSINFO) (PIP_ADAPTER_INFO, PULONG);
typedef DWORD(CALLBACK* PTR_ADDIPADDRESS) (IPAddr, IPMask, DWORD, PULONG, PULONG);
typedef DWORD(WINAPI *_SetAdapterIpAddress )(char *szAdapterGUID, DWORD dwDHCP, DWORD dwIP, DWORD dwMask, DWORD dwGateway); 

DWORD WINAPI GhangeIPMaskGateway(void)
{
    // Пытаемся подгрузить iphlpapi.dll
  HINSTANCE hLib;
  hLib = LoadLibrary("iphlpapi.dll");
  if(hLib == NULL)
        return -1;
    
    PIP_ADAPTER_INFO pAdapterInfo;
    PTR_GETADAPTERSINFO GetAdaptersInfo;
  GetAdaptersInfo = (PTR_GETADAPTERSINFO)GetProcAddress(hLib, "GetAdaptersInfo");
    
    pAdapterInfo = (IP_ADAPTER_INFO *)GlobalAlloc(GPTR, sizeof( IP_ADAPTER_INFO));
    ULONG ulOutBufLen = sizeof( IP_ADAPTER_INFO );
    
    PTR_ADDIPADDRESS AddIPAddress;
    AddIPAddress = (PTR_ADDIPADDRESS)GetProcAddress(hLib, "AddIPAddress");
    _SetAdapterIpAddress SetAdapterIpAddress = (_SetAdapterIpAddress) GetProcAddress(hLib,"SetAdapterIpAddress"); 
    
    ULONG NewIP, NewMask, NewGateway;
    ULONG NTEContext  = 0;
    ULONG NTEInstance = 0;
    
    if(GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == NO_ERROR))
    {
        SetAdapterIpAddress(pAdapterInfo->AdapterName, 0, NewIP, NewMask, NewGateway);
        AddIPAddress(NewIP, NewMask, pAdapterInfo->Index, &NTEContext, &NTEInstance);
    }
    
    FreeLibrary(hLib);
    return 0;
}


С уважением mansur.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[10]: как программно настроить ethernet интерфейс?
От: Socrat Россия  
Дата: 25.12.08 19:11
Оценка:
Здравствуйте, mansur, Вы писали:

S>>А можно взглянуть на исходники функции, которая меняет IP?


M>Нет проблем:


Спасибо. Только мне нужно для PPC, а в тамошней dll функции SetAdapterIpAddress нет.
Re[11]: как программно настроить ethernet интерфейс?
От: mansur https://netmontools.com
Дата: 26.12.08 05:25
Оценка:
Здравствуйте, Socrat, Вы писали:

S>Спасибо. Только мне нужно для PPC, а в тамошней dll функции SetAdapterIpAddress нет.


В таком случае можно просто добавить IP адрес, не удаляя старый — он останется алиасом.
С уважением mansur.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.