Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.19.56.45] |
|
Сообщ.
#1
,
|
|
|
Собственно, я вот что не могу понять! Но мне очень интересно это
вот смотрите, беру такую сеть. Ноутбук <-> роутер <-> еще роутер соедененный с интернетом 192.168.0.10 <-> (192.168.0.1 | 10.50.50.233) <-> 10.50.50.1 Вот я не понимаю. На 192.168.0.10 настроен шлюз 192.168.0.1, а на роутере уже настроен шлюз 10.50.50.1 так вот! Если я делаю маскарадинг на роутере 192.168.0.1 между двумя сетевыми картами с ip (192.168.0.1 | 10.50.50.233). То интернет работает на 192.168.0.10 ноутбуке, если маскарадинга нет то и интернета нет! Теперь смотрите, маскарадинг на роутере всего то и делает что в заголовке source IP заменяет 192.168.0.10 на 10.50.50.233. И уже роутер 10.50.50.1 видит ноутбук как 10.50.50.233. Я не могу понять! Почему без маскарадинга нет интернета? А с маскарадингом есть??? Как это понять? |
Сообщ.
#2
,
|
|
|
Судя по схеме, адрес 10.50.50.233 задан статически. Так что нет у тебя маскарада, а есть обычный sNAT.
А не работает без него Инет потому, что 10.50.50.1 никогда не слышал о существовании 192.168.0.0/24. |
Сообщ.
#3
,
|
|
|
Так, наверное вам нужно как то подробно объяснить
И так, на роутере где 2 сетевые стоит openwrt. и вот его файл farewall. В котором прошу обратить внимание на опцию option masq '1' root@OpenWrt:~# cat /etc/config/firewall config defaults option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' option syn_flood '1' config include option path '/etc/firewall.user' config zone option input 'ACCEPT' option forward 'ACCEPT' option output 'ACCEPT' option name 'accept' option network 'WAN lan' option masq '1' root@OpenWrt:~# Далее, роутер с интернетом у меня mikrotik И вот на нем таблица маршрутизации, обратите внимание на последний маршрут [admin@X] > ip route print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 ADS 0.0.0.0/0 10.112.112.128 1 1 X S 0.0.0.0/0 10.96.5.1 1 2 ADS 10.0.0.0/8 10.96.5.1 0 3 ADC 10.50.50.0/24 10.50.50.1 bridge1 0 4 ADC 10.96.5.0/24 10.96.5.31 ether1 0 5 ADC 10.112.112.128/32 188.247.185.209 beeline-l2tp 0 6 ADS 77.74.64.0/21 10.96.5.1 0 7 A S 80.241.35.0/24 10.96.5.1 1 8 ADS 80.241.35.54/32 10.96.5.1 0 9 ADS 85.29.161.106/32 10.96.5.1 0 10 ADS 85.29.161.107/32 10.96.5.1 0 11 A S 85.241.35.0/24 10.96.5.1 1 12 ADS 87.247.0.133/32 10.96.5.1 0 13 A S 192.168.0.0/24 10.50.50.233 1 И наконецто пинг с микротика на ноутбук [admin@kumshagal] > ping 192.168.0.10 SEQ HOST SIZE TTL TIME STATUS 0 192.168.0.10 56 127 1ms 1 192.168.0.10 56 127 1ms 2 192.168.0.10 56 127 1ms sent=3 received=3 packet-loss=0% min-rtt=1ms avg-rtt=1ms max-rtt=1ms Теперь, а как же я всетаки могу убедится что у меня маскарадинг? Ну наверное посмотрю как ноутбук цепляется к микротику со включенным маскарадингом: sep/26 00:45:30 system,info,account user admin logged in from 10.50.50.233 via ssh Теперь отключим маскарадинг и посмотрим как теперь микротик видит ноутбук sep/26 00:50:59 system,info,account user admin logged in from 192.168.0.10 via ssh Как видим, всетаки ip заменяет. И вот на всякий случай конфиг из openwrt: root@OpenWrt:~# cat /etc/config/firewall config defaults option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' option syn_flood '1' config include option path '/etc/firewall.user' config zone option input 'ACCEPT' option forward 'ACCEPT' option output 'ACCEPT' option name 'accept' option network 'WAN lan' Маскарадинга больше нет И на всякий случай посмотрите что luci Так же называет эту опцию маскарадингом Скрытый текст И все же это не маскарадинг? Везде ошибка? |
Сообщ.
#4
,
|
|
|
Цитата cpp_and_asm @ наверное вам нужно как то подробно объяснить Надо. Вот только всё, что идёт дальше - не объяснение, а тупое такое цитирование. Ведро воды, две горошины фактов и ноль толку. Хотя достаточно было просто указать, на каких интерфейсах NAT, а на каких его нет, и показать таблицы рутинга - но реальные, а не из конфига. Цитата cpp_and_asm @ И все же это не маскарадинг? Ну хоть сейчас-то не поленитесь посмотреть в документации, чем отличаются sNAT и Masquerade... отличие всего одно, ма-а-аленькое, и без переконфигурирования интерфейса (в т.ч. от перезагрузки или ре-аренды) в принципе неощутимое. |
Сообщ.
#5
,
|
|
|
То есть то что по факту идет замена ip это не важно?
Вот на openwrt root@OpenWrt:~# ip route default via 10.50.50.1 dev eth1 proto static 10.50.50.0/24 dev eth1 proto kernel scope link src 10.50.50.233 192.168.0.0/24 dev br-lan proto kernel scope link src 192.168.0.1 Что еще показать? |
Сообщ.
#6
,
|
|
|
cpp_and_asm
переведи свой роутер в режим моста, у ноута поставь шлюз 10.50.50.1 |
Сообщ.
#7
,
|
|
|
Люди. я спрашиваю почему с подменой ip интернет есть, а без него нет! Это вопрос, это не проблема!
|
Сообщ.
#8
,
|
|
|
Цитата cpp_and_asm @ если маскарадинга нет то и интернета нет! В на роутере есть маршруты с 10.50.50.233 в 192.168.0.10 ? |
Сообщ.
#9
,
|
|
|
Я просто не могу понять, почему на пакет у которого source ip 192.168.0.10 Не приходит ответ?
|
Сообщ.
#10
,
|
|
|
cpp_and_asm
если на роутере нет маршрута из подсети 10.50.50.х в 192.168.0.Х, то у тебя пакет на 10.50.50.233 отбросится. |
Сообщ.
#11
,
|
|
|
Цитата ^D^ima @ Цитата cpp_and_asm @ если маскарадинга нет то и интернета нет! В на роутере есть маршруты с 10.50.50.233 в 192.168.0.10 ? То есть на openwrt нужен такой маршрут? root@OpenWrt:~# ip route default via 10.50.50.1 dev eth1 proto static 10.50.50.0/24 dev eth1 proto kernel scope link src 10.50.50.233 10.50.50.233 via 192.168.0.10 dev br-lan 192.168.0.0/24 dev br-lan proto kernel scope link src 192.168.0.1 Вот добавил. Но толка нет Добавлено Если вы про микротик, то я показывал все это выше [admin@X] > ip route print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 ADS 0.0.0.0/0 10.112.112.128 1 1 X S 0.0.0.0/0 10.96.5.1 1 2 ADS 10.0.0.0/8 10.96.5.1 0 3 ADC 10.50.50.0/24 10.50.50.1 bridge1 0 4 ADC 10.96.5.0/24 10.96.5.31 ether1 0 5 ADC 10.112.112.128/32 188.247.185.209 beeline-l2tp 0 6 ADS 77.74.64.0/21 10.96.5.1 0 7 A S 80.241.35.0/24 10.96.5.1 1 8 ADS 80.241.35.54/32 10.96.5.1 0 9 ADS 85.29.161.106/32 10.96.5.1 0 10 ADS 85.29.161.107/32 10.96.5.1 0 11 A S 85.241.35.0/24 10.96.5.1 1 12 ADS 87.247.0.133/32 10.96.5.1 0 13 A S 192.168.0.0/24 10.50.50.233 1 |
Сообщ.
#12
,
|
|
|
Цитата cpp_and_asm @ Вот добавил. Но толка нет На 10.50.50.1 тоже нужно подобное сделать Добавлено делай трассировкус микротика и смотри на каком этапе затык. |
Сообщ.
#13
,
|
|
|
Цитата Akina @ отличие всего одно, ма-а-аленькое Небольшое дополнение: |
Сообщ.
#14
,
|
|
|
Цитата ^D^ima @ Цитата cpp_and_asm @ Вот добавил. Но толка нет На 10.50.50.1 тоже нужно подобное сделать Добавлено делай трассировкус микротика и смотри на каком этапе затык. Пожалуйста прочитай внимательно первый пост! Я же написал таблицу маршрутизации 10.50.50.1 это МИКРОТИК! Тоесть последний роутер с интернетом! И вот его таблица маршрутизации в третий раз показываю! [admin@X] > ip route print Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 ADS 0.0.0.0/0 10.112.112.128 1 1 X S 0.0.0.0/0 10.96.5.1 1 2 ADS 10.0.0.0/8 10.96.5.1 0 3 ADC 10.50.50.0/24 10.50.50.1 bridge1 0 4 ADC 10.96.5.0/24 10.96.5.31 ether1 0 5 ADC 10.112.112.128/32 188.247.185.209 beeline-l2tp 0 6 ADS 77.74.64.0/21 10.96.5.1 0 7 A S 80.241.35.0/24 10.96.5.1 1 8 ADS 80.241.35.54/32 10.96.5.1 0 9 ADS 85.29.161.106/32 10.96.5.1 0 10 ADS 85.29.161.107/32 10.96.5.1 0 11 A S 85.241.35.0/24 10.96.5.1 1 12 ADS 87.247.0.133/32 10.96.5.1 0 13 A S 192.168.0.0/24 10.50.50.233 1 Я не понимаю, когда я это пишу у вас не отображается или что? Добавлено А вот трасировка до forum.sources.ru C:\Windows\System32>tracert forum.sources.ru Трассировка маршрута к forum.sources.ru [89.208.153.100] с максимальным числом прыжков 30: 1 <1 мс <1 мс <1 мс OpenWrt.lan [192.168.0.1] 2 16 ms <1 мс <1 мс 10.50.50.1 3 * * * Превышен интервал ожидания для запроса. 4 * * * Превышен интервал ожидания для запроса. 5 * * * Превышен интервал ожидания для запроса. |
Сообщ.
#15
,
|
|
|
Вообще помогите мне понять суть.
Вот ноутбук отправляет пакет скажем на этот форум да. source ip у него сперва 192.168.0.10 он идет на роутер по шлюзу 192.168.0.1, там роутер смотрит что ip forum.sources.ru не вего локальной сетки, но есть шлюз для 0.0.0.0, это 10.50.50.1, он берет значит, в мой пакет записывает свой source ip, то есть 10.50.50.233, и отправляет на шлюз 10.50.50.1 Тот в свою очередь видит что forum.sources.ru нет в его сетке, и передает на шлюз интернета, при этом так же меняя source ip на свой, с сетью выхода в интернет. На 10.50.50.1 так же стоит правило nat маскарадинг. [admin@kumshagal] > ip firewall nat print Flags: X - disabled, I - invalid, D - dynamic 0 chain=srcnat action=masquerade src-address=10.50.50.0/24 log=no log-prefix="" Но тут я понимаю зачем он нужен, так как на шлюзе который мне дает интернет не прописан ip 192.168.0.10.... А почему на роутере 192.168.0.1 это нужно я не знаю |
Сообщ.
#16
,
|
|
|
cpp_and_asm
так-же для себя распиши как обратно идет пакет и проверь настроено-ли оборудование. Если нет ната, тогда все статичными маршрутами прописывается |
Сообщ.
#17
,
|
|
|
У меня маршруты все статичны Именно те которые тут учавствуют.
Вот если я отключаю маскарадинг на роутере openwrt (192.168.0.1 | 10.50.50.233), то микротик (10.50.50.1) спокойно работает с ноутбуком без каких либо заморочек, и видит его ка 192.168.0.10. Но в интернет ни как не выходит зараза! Вот этого я уже не понимаю.... А хочется просто понять в чем причина. И проверить не знаю как.... |
Сообщ.
#18
,
|
|
|
Цитата cpp_and_asm @ микротик (10.50.50.1) спокойно работает с ноутбуком А сам ноутбук? |
Сообщ.
#19
,
|
|
|
Точно так же. Все нормально, работают си видят друг друга без каких либо подмен ip
|
Сообщ.
#20
,
|
|
|
cpp_and_asm
запускай на тике сниффер и смотри что происходит |
Сообщ.
#21
,
|
|
|
Ок, так как меня интересует процесс только самого соединения, я посмотрю сниферами как на openwrt 192.168.0.1 так и на микротике 10.50.50.1
Вот что приходит при маскараденги. сперва на openwrt: root@OpenWrt:~# tcpdump -i eth0 -n -nnn -ttt '(dst host forum.sources.ru and dst port 80) or (src host forum.sources.ru and src port 80)' tcpdump: WARNING: eth0: no IPv4 address assigned tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 00:00:00.000000 IP 192.168.0.10.9273 > 89.208.153.100.80: Flags [S], seq 3333855967, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 00:00:00.076789 IP 89.208.153.100.80 > 192.168.0.10.9273: Flags [S.], seq 3628251206, ack 3333855968, win 65535, options [mss 1420,nop,wscale 6,sackOK,eol], length 0 00:00:00.000290 IP 192.168.0.10.9273 > 89.208.153.100.80: Flags [.], ack 1, win 260, length 0 Виден результат удачного соединения, как это еще называется "тройное рукопожатие". Теперь на микротике: К сожалению тут не особо информативный вывод, но видно одно, что запрос приходит из 10.50.50.233 Скрытый текст Теперь отключим маскарадинг и посмотрим: root@OpenWrt:~# tcpdump -i eth0 -n -nnn -ttt '(dst host forum.sources.ru and dst port 80) or (src host forum.sources.ru and src port 80)' tcpdump: WARNING: eth0: no IPv4 address assigned tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 00:00:00.000000 IP 192.168.0.10.9318 > 89.208.153.100.80: Flags [S], seq 2660978984, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 00:00:03.001804 IP 192.168.0.10.9318 > 89.208.153.100.80: Flags [S], seq 2660978984, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0 00:00:06.003596 IP 192.168.0.10.9318 > 89.208.153.100.80: Flags [S], seq 2660978984, win 8192, options [mss 1460,nop,nop,sackOK], length 0 Как видим ответа нет( Теперь что было на микротике: Скрытый текст Тут видно что изменился только src адрес на 192.168.0.10 и все Но так же ответа не последовало. В упор не понимаю что не так... |
Сообщ.
#22
,
|
|
|
Цитата cpp_and_asm @ Но так же ответа не последовало. Ты смотри на всех интерфейсах. Убери вообще интерфейс и порт\протокол |
Сообщ.
#23
,
|
|
|
^D^ima огромное тебе спасибо!
Я понял в чем фокус то а. Вот же я жесть тупил то! У меня на микротике то маскарадинг стоит только на адреса 10.50.50.0/24 По этому когда запрос приходит от 10.50.50.233 он его меняет на мой внешний айпи для шлюза моего провайдера!!!! А маскарадинг для 192.168.0.0/24 не прописан! Вот он его и посылал как есть! А шлюз провайдера и понятие не имеет о 192.168.0.10. Ну в общем огромное тебе спасибо за терпение! Теперь то я понял где собака зарыта. Скрытый текст |
Сообщ.
#24
,
|
|
|
Да, микротик хорошая вещь, куча инструментов для анализа
|
Сообщ.
#25
,
|
|
|
Коллеги, хочу уточнить:
Любые манипуляции с заголовком IP это NAT? В частности проброс портов и т.п.? |
Сообщ.
#26
,
|
|
|
Цитата ^D^ima @ Любые манипуляции с заголовком IP это NAT? Нет. Впрочем, гарантированно однозначного принятого мнения нет - например, изменение 80 порта во внешнем запросе на 8080 (порт, на котором работает веб-сервер внутри подсети) без изменения адреса источника и приёмника, и обратное преобразование ответов на маршрутизаторе вряд ли кто назовёт NAT-ом. Цитата ^D^ima @ В частности проброс портов Если он сопровождается изменением IP-адреса в пакете (приёмника или источника, в зависимости от направления), то, вероятно, следует считать, что да. |
Сообщ.
#27
,
|
|
|
Т.е. можно гарантированно сказать что если меняется именно адрес IP в заголовке то это NAT?
|
Сообщ.
#28
,
|
|
|
Цитата ^D^ima @ Т.е. можно гарантированно сказать что если меняется именно адрес IP в заголовке то это NAT? Вообще-то нет... например, Man In The Middle. |
Сообщ.
#29
,
|
|
|
Цитата Akina @ например, Man In The Middle. Так это тоже своего рода "преобразование сетевых адресов" или нет? Если нет, тогда что? |
Сообщ.
#30
,
|
|
|
Цитата ^D^ima @ Если нет, тогда что? Цитата Source NAT changes the source address in IP header of a packet. It may also change the source port in the TCP/UDP headers. The typical usage is to change the a private (rfc1918) address/port into a public address/port for packets leaving your network. Destination NAT changes the destination address in IP header of a packet. It may also change the destination port in the TCP/UDP headers.The typical usage of this is to redirect incoming packets with a destination of a public address/port to a private IP address/port inside your network. Masquerading is a special form of Source NAT where the source address is unknown at the time the rule is added to the tables in the kernel. If you want to allow hosts with private address behind your firewall to access the Internet and the external address is variable (DHCP) this is what you need to use. Masquerading will modify the source IP address and port of the packet to be the primary IP address assigned to the outgoing interface. If your outgoing interface has a address that is static, then you don't need to use MASQ and can use SNAT which will be a little faster since it doesn't need to figure out what the external IP is every time. |
Сообщ.
#31
,
|
|
|
JoeUser
Т.е. NAT это только замена IP адреса или порта без изменения остального пакета? |
Сообщ.
#32
,
|
|
|
На сколько я разобрался, маскарадинг практически аналогия SNAT. За одним исключением - маскарадинг чаще используется на интерфейсах часто меняющих свои характеристики (ip/mask/gw), он типа более адаптивен к изменениям. SNAT же надо пинать извне. Дальше в дебри я не лез, ибо сижу за статическом IP.
|
Сообщ.
#33
,
|
|
|
^D^ima
Да не парься ты. Нет абсолютно строгого определения, которое для любой мыслимой ситуации однозначно бы говорило, NAT это или не NAT. Да и не так важно, как назвать, важнее, что происходит. |
Сообщ.
#34
,
|
|
|
Цитата Akina @ Нет абсолютно строгого определения, которое для любой мыслимой ситуации однозначно бы говорило, NAT это или не NAT. Да и не так важно, как назвать, важнее, что происходит. Ну не знаю, считаю что в вики описание дано лаконично и полно. - Маскарадинг это разновидность NAT, даже не разновидность, если точнее, а один из режимов работы - Первая особенность: работает не с таблицами адресов, а с интерфейсами в динамике - Вторая особенность: при down интерфейса сразу же очищаются все таблицы трансляции Цитата ^D^ima @ Т.е. NAT это только замена IP адреса или порта без изменения остального пакета? NAT - это обобщенное название технологии (подмены адресов). При настройке правил различают SNAT, это о чем ты говорил. И DNAT - подмена адреса получателя. Навскидку маленькая информативная статья. Например, в FreeBSD режим маскарадинга включается опциями для natd -dynamic в сочетании с -interface |
Сообщ.
#35
,
|
|
|
Цитата JoeUser @ считаю что в вики описание дано лаконично и полно Вики может и авторитет, но уж точно не истина в последней инстанции. Цитата JoeUser @ NAT - это обобщенное название технологии (подмены адресов). А если адреса не изменяются, но изменяется номер порта? Например, внешнее обращение к веб-серверу на маршрутизаторе (не роутере) переводится с порта 8080 на порт 80 - это NAT? Маппинг портов налицо... А если в тех же условиях даже номер порта не изменяется, но нештатно изменяется TTL? А если речь идёт не о TCP/UDP(/ICMP), а о другом протоколе? Классически NAT вроде бы определяется в RFC 2663: Цитата RFC 2663. IP Network Address Translator (NAT) Terminology and Considerations Network Address Translation is a method by which IP addresses are mapped from one realm to another, in an attempt to provide transparent routing to hosts. Вроде бы... с одной стороны. С другой стороны, есть ведь и такая штука, как NAT-PT (напр. RFC 2776, IPv6-IPv4 transition mechanism, или вспомни Netware/IP, когда узел без проблем выходил в Инет, не имея за душой ничего, кроме голого IPX) - это тоже NAT, в полный рост. |
Сообщ.
#36
,
|
|
|
Цитата Akina @ А если адреса не изменяются, но изменяется номер порта? Например, внешнее обращение к веб-серверу на маршрутизаторе (не роутере) переводится с порта 8080 на порт 80 - это NAT? Маппинг портов налицо... NAT - обобщенное название одной технологии, а проброс портов (Port Forwarding) - одна из ее возможностей. Если не брать за эталон кастрированные реализации NAT-а на железяках, а посмотреть полноценные программные реализации (netfiler от линупса, ipfw и pf от *BSD), там NAT - просто функционал/подсистема. Все манипуляции с пакетами "проходят" через набор правил. Там возможно и перезапись адресов, и портов, и дроп пакетов, и переброс на себя после изменений ... и все это целостная система. Т.о. NAT - просто название одного из ее механизмов (у которого есть дополнительные опции типа маскарадинга). Ну выделили NAT собственной аббревиатурой, ну и ланна. Добавлено Цитата Akina @ Вики может и авторитет Дело не где написано, а что написано. А написано в той статье хорошо. Добавлено Цитата Akina @ то тоже NAT, в полный рост. ИМХО, там маршрутизация. Щя гляну ... Добавлено Ну есть какая-то шляпа типа IGRP/EIGRP - не охота голову забивать, нашел там "routing protocol" и ланна. |
Сообщ.
#37
,
|
|
|
Цитата JoeUser @ Если не брать за эталон кастрированные реализации NAT-а на железяках На железяках тоже все есть. Собственно с чего возник вопрос, в микротике это все добро в разделе NAT: |
Сообщ.
#38
,
|
|
|
Цитата ^D^ima @ На железяках тоже все есть. На многих есть, на копеечном барахле, как правило, нет. А копеечного барахла в организациях просто валом. Добавлено Цитата ^D^ima @ Собственно с чего возник вопрос, в микротике это все добро в разделе NAT: Ну ... картинка же все показывает. Раздел NAT, возможность добавлять свои правила обработки. Все ровно. |
Сообщ.
#39
,
|
|
|
Цитата JoeUser @ Все ровно. все операции которые на картинке относятся к технологии ната? |
Сообщ.
#40
,
|
|
|
Цитата ^D^ima @ все операции которые на картинке относятся к технологии ната? Затрудняюсь сказать. Надо читать хелп по правилам. |
Сообщ.
#41
,
|
|
|
Цитата JoeUser @ На сколько я разобрался, маскарадинг практически аналогия SNAT. Нет. При SNAT в каждом пакете подпадающим под правило происходит подмена адреса указанного в данном правиле. При маскарадинге, ip каждый раз вычисляется, посему нагрузка от последнего больше. Добавлено Цитата ^D^ima @ Цитата JoeUser @ Все ровно. все операции которые на картинке относятся к технологии ната? Все операции указанные на картинке относятся к Добавлено Цитата Akina @ Например, внешнее обращение к веб-серверу на маршрутизаторе (не роутере) переводится с порта 8080 на порт 80 - это NAT? Это PAT Добавлено Цитата JoeUser @ Добавлено Цитата Akina @ то тоже NAT, в полный рост. ИМХО, там маршрутизация. Щя гляну ... Пздц. L3 маршрутизатор не знает понятия "порт". В общем случае он смотрит заголовок IP пакета, конкретно dst ip, и согласно своей таблице и политик маршрутизации отправляет пакет дальше. Добавлено Цитата JoeUser @ Добавлено Ну есть какая-то шляпа типа IGRP/EIGRP - не охота голову забивать, нашел там "routing protocol" и ланна. Смешались в кучу кони/люди. Какое отношение имеют древние как говно мамонта протоколы динамической маршрутизации к пробросу порта за нат? Добавлено Цитата Akina @ А если в тех же условиях даже номер порта не изменяется, но нештатно изменяется TTL? Ттл итак штатно меняется, на каждом хопе. Ну есть ещё всякие поля, которые так сильно любят провайдеры типа рфц 2474/2475 Добавлено Цитата ^D^ima @ Да, микротик хорошая вещь, куча инструментов для анализа Кастрат чистых линухов. tcpdump+shell+iptables дают гораздо более широкие возможности для полёта фантазии. |
Сообщ.
#42
,
|
|
|
Цитата Gonarh @ При маскарадинге, ip каждый раз вычисляется, посему нагрузка от последнего больше. Откуда такая инфа? На сколько я понял из описания, маскарадинг - способ отслеживания состояния обслудиваемых интерфейсов. И как только происходит Up->Down - чистяться таблицы преобразований. Но если они со временем заполняются необходимыми правилами (текущими правилами) - дополнительного пересчета производиться не будет. Вощем, если я не прав - дай линк почитать про сей механизм. |
Сообщ.
#43
,
|
|
|
Цитата JoeUser @ способ отслеживания состояния В линуксах реализован ввиде conntrack, необходим для stateful фаервола и не только. Цитата И как только происходит Up->Down - чистяться таблицы преобразований Именно, таблица состояний conntrack будет очищена, все установленные соединения потеряны. В случае SNAT, они будут висеть пока не оттикает опред. таймер Цитата Но если они со временем заполняются необходимыми правилами (текущими правилами) - дополнительного пересчета производиться не будет. На каждое новое соединение будет заново получен IP адрес интерфейса куда сделан маскарадинг. Добавлено Цитата JoeUser @ Откуда такая инфа? Лет 7 назад изучал, как работает маскарадинг в линуксах, на ветке ядер 2.6 было по крайней мере так, щяс, хз. давно не лазил. |
Сообщ.
#44
,
|
|
|
Цитата Akina @ на маршрутизаторе (не роутере) маршрутизатор и есть роутер. русский и английский термин. |
Сообщ.
#45
,
|
|
|
Цитата Gonarh @ На каждое новое соединение будет заново получен IP адрес интерфейса куда сделан маскарадинг. Ну я линух не смотрел, но, ЕМНИП, на FreeBSD маскарадинг только отслеживает Up/Down и чистку таблиц. А NAT уже сам смотрит - если таблица пустая, ищет адрес, заполняет таблицу и отдает. Если таблица непустая - из нее берет. По факту - это две взаимосвязанные подсистемы. |
Сообщ.
#46
,
|
|
|
Цитата JoeUser @ маскарадинг только отслеживает Up/Down и чистку таблиц. А NAT уже сам смотрит - если таблица пустая... Маскарадинг это и есть НАТ. |
Сообщ.
#47
,
|
|
|
Цитата Gonarh @ Маскарадинг это и есть НАТ. Мы просто говорим про разные ОС. Ты про Linux, я про FreeBSD. И там и там - реализация несколько отличная от соседней. Чтобы прекратить спорить на пустом месте приведу цитату из RFC3022 "The IP Network Address Translator (NAT)": Цитата Many commercial implementations are available in the industry that adhere to the NAT description provided in this document. Linux public domain software contains NAT under the name of "IP masquerade". FreeBSD public domain software has NAPT implementation running as a daemon. Note however that Linux source is covered under the GNU license and FreeBSD software is covered under the UC Berkeley license. Для FreeBSD "маскарадинг" - не синоним NAT, а один из режимов слежения за состоянием интерфейсов. Читаем man natd(8): Цитата -dynamic If the -n or -interface option is used, natd will monitor the routing socket for alterations to the interface passed. If the interface's IP address is changed, natd will dynamically alter its concept of the alias address. |
Сообщ.
#48
,
|
|
|
Цитата Gonarh @ Нет. При SNAT в каждом пакете подпадающим под правило происходит подмена адреса указанного в данном правиле. При маскарадинге, ip каждый раз вычисляется, посему нагрузка от последнего больше. ИМХО это не такое и отличие маскарадинга от SNAT SNAT берет статический адрес, куда транслировать, маскарадинг берет этот адрес с интерфейса, а по сути они делают одно и тоже в итоге |
Сообщ.
#49
,
|
|
|
Besha, просто реализации разные. Во FreeBSD - маскарадинг реализован как "слушатель" интерфейсов. Интрефейс "упал", masq очистил его таблицы ... и все. Т.е. действие однозначное - "интерфейс упал/сменил адрес === таблицы зачищаются". (Но это люто-махровое ИМХО, исходников я не читал, чисто по мануалам и наитию).
|