- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
public static long NormalizeIp(this long ip)
{
var ipAddress = new IPAddress(Math.Abs(ip)).ToString();
return ipAddress.IpToLong();
}
static long IpToLong(this string ip)
{
double num = 0;
if (!string.IsNullOrEmpty(ip))
{
var ipBytes = ip.Split('.');
for (var i = ipBytes.Length - 1; i >= 0; i--)
{
num += ((int.Parse(ipBytes[i]) % 256) * Math.Pow(256, (3 - i)));
}
}
return (long)num;
}
Получаем IP вот таким вот методом - BitConverter.ToInt32(IPAddress.Parse(ip) .GetAddressBytes(), 0)
Приводим к типу long (неявным методом, т.е. long a = ip_address) и в таком виде сохраняем в базу как bigint (int64)
Затем берем его из базы и пытаемся провернуть с ним вот такой NormalizeIp
Печаль (
gost 30.04.2016 19:07 # +3
3_14dar 30.04.2016 19:46 # −4
3_14dar 30.04.2016 22:54 # −4
guest 03.05.2016 00:47 # 0
от них страдают тока торенты, да и там есть всякие UPnP NAT, NAT-PMP, socks в конце концов
у хороших то провов
bormand 03.05.2016 00:54 # +1
Провайдерский нат через UPnP не уломаешь.
Торрентам по другой причине похуй - исходящих коннектов вполне хватает. Траблы разве что на очень редких релизах, где среди раздающих сплошные инвалиды с NAT'ом...
guest 03.05.2016 00:56 # +2
чтобы сконнектились два одиночества, надо чтобы хотябы одно из них имело реальный IP
если ты за натом и без upnp, то количество пиров твоих сильно падает
у меня кстати реальный IP дома, но по другим причинам
стоит 300 руб мес)
defecate-plusplus 03.05.2016 01:01 # +3
тока пидору не говорите, а то произойдет деление на ноль
guest 03.05.2016 01:09 # +2
мой IP там 192.168.0.2, а снаружи все нормально)
так часто делают
но проблема в том, что через такой нат (destination nat, DNAT) проходят только UDP и TCP, а например натить GRE он не умеет, и потому PPTP VPN мне там не поднять)
bormand 03.05.2016 01:11 # +1
Нинужно, ибо говно с хуёвой пробиваемостью. У меня, к примеру, мтс грешные пакеты не пропустил. Пришлось переключать инет на мегафоновскую симку.
guest 03.05.2016 01:16 # +2
На самом деле PPTP конечно тоже не нужен
Нужен L2TP/IPSec, но настройка оного куда более сложна, ибо надо настраивать как IKE для IPSec, так и L2TP потом.
Зато все скурнее и ходит через обычные TCP порты (правда нужно 2 порта: для IKE и L2TP).
Еще хорош OpenVPN, но его клиент не встроен в популярные ОС (а pptp и l2tp встроены)
bormand 03.05.2016 01:20 # 0
Х.з., если честно. Я L2TP не юзал, только голый IPSec для андроида поднимал.
guest 03.05.2016 01:24 # 0
но IPSec не обеспечивает маршрутизацию.
L2TP создает тебе виртуальный интерфейс, и через него удобно ходить в локалку. А IPSec может просто либо подписывать башку пакета (AH) либо шифровать контент (ESP) либо и то и другое.
В теории можно выебнуца и настроить маршрутизатор так, чтобы он пакеты с IPSec пускал внутрь, но как-то сложно.
Наверняка дорогие цыски так могут.
Кроме того L2TP имеет очень простую авторизацию, и можно RADIUS прикрутить и считать сколько времени человек провел приконнеченым итд.
bormand 03.05.2016 01:33 # 0
Ну х.з., я тогда на линухе довольно быстро настроил. Дырка для IPSec портов в фаерволе, харон для IKE да маскарад под айпишник VPS'ки. Вроде и всё. Цель была - сделать свой уютный VPN для андроида, чтобы юзать инет из всяких небезопасных мест и заодно ложить хуй на роскомпозоры.
Насколько такой конфиг безопасен для боевых применений - х.з.
guest 03.05.2016 01:36 # 0
racoon же, не?
Я на зюхельной железке как-то настраивал, а клиент у меня был на винде
Там очень круто настраивается политика IpSec. Например: "включать IPSec только для пакетов на такой-то IP". Хотя она и в линуксе такая же точно
bormand 03.05.2016 01:36 # 0
Charon от Сильного Лебедя. Кстати, Харон - очень подходящее название для этого демона ;)
guest 03.05.2016 01:39 # 0
а racoonа я видел на фре
http://linux.die.net/man/8/racoon
guest 03.05.2016 01:39 # 0
а racoonа я видел на фре
http://linux.die.net/man/8/racoon
defecate-plusplus 03.05.2016 01:24 # 0
у нас на работе админ поднял цисковский эниконнект
говорит, не в каждой гостинице за рубежом открыты другие порты и протоколы, кроме 80 и 443, приходится скачивать и настраивать (и два разных подключения одновременно не сделать при этом), и вообще бесит этот кусок говна, но все терпят
в цоды заказчики частенько дают именно опенвпн, ну и да, циску тоже иногда
так что не так страшен этот опенвпн, ебли чуток побольше, это да
bormand 03.05.2016 01:47 # 0
Ой, да там конфиг закинуть, да ярлычок на рабочий стол вынести... Вот и вся настройка. Тем более сервер вполне может пушить айпишники и т.п. на клиента, так что в конфиге считай одна аутентификация... По-моему все эти штатные PPTP даже геморройней настраивать - больше кликов мышкой.
inkanus-gray 03.05.2016 12:30 # 0
3_14dar 03.05.2016 02:28 # −3
guest 03.05.2016 02:30 # +4
и что значит "обоссали"?
Используй пожалуйста технические термины, а не термины из твоих с Шамилем ролевых игр
Bubuta_Boch 03.05.2016 11:02 # 0
Грешные магистры! Дырку над ними в небе!
3_14dar 03.05.2016 02:27 # −2
>с пробросом всех портов
Пробрось их из-за провайдерского ната, пидараха.
defecate-plusplus 03.05.2016 11:14 # +1
что такое по твоему проброс портов?
перенаправление на другой адрес
серверу 172.31.1.100 доступен любой другой белый адрес, исходящие порты не режутся
в чем проблема?
3_14dar 03.05.2016 19:24 # −4
Русня, ты что не знаешь что такое провайдерский нат? Или в маааскву такого не завезли? И про домовые сети не слышал?
3_14dar 03.05.2016 02:27 # −2
guest 03.05.2016 00:19 # +2
kegdan 30.04.2016 20:32 # +2
1024-- 30.04.2016 20:35 # 0
kegdan 30.04.2016 20:37 # 0
1024-- 30.04.2016 20:40 # 0
Набашорк! Напитон! Тьфу, зараза. На ГК!
inkanus-gray 30.04.2016 21:08 # +3
kerman 30.04.2016 21:02 # 0
gost 30.04.2016 21:34 # +1
bormand 30.04.2016 21:37 # 0
j123123 30.04.2016 22:02 # 0
bormand 30.04.2016 22:15 # 0
guesto 01.05.2016 03:37 # 0
bormand 01.05.2016 07:35 # 0
bopoh 01.05.2016 00:48 # +1