SNAT в IP6Tables

Необходимо будет активировать SSL по всему сайту, но необходимо смочь иметь и SSL (tcp/443) и не-SSL (tcp/80) открытые порты. Таким образом, если у Вас есть ссылка в Вашем HTML, который имеет http://, это перейдет к незащищенному порту, но если у Вас есть https://в Вашей разметке затем защищенный порт, будет использоваться.

Как пример, перейдите к www.facebook.com: по умолчанию это незащищено, но если Вы посмотрите на HTML основной страницы, то Вы найдете следующий отрывок:

<метод формы = действие "POST" = "https://login.facebook.com/login.php? login_attempt=1" идентификатор = "login_form">

Таким образом, когда Вы вводите в своих сведениях об учетной записи и поражаете "Вход в систему", форма отправляется в защищенную версию, но когда Вы делаете общее перемещение на сайте, это незащищено.

Кроме того, Вы могли иметь незащищенный www.yoursite.com, но иметь имена хостов "accounts.yoursite.com" или "login.yoursite.com", которые защищаются. Вы затем передали бы cookie браузеру, который сохранил состояние входа в систему.

Обратите внимание что, если общее перемещение людьми Вашего сайта незащищено, то взломщики могут осуществить сниффинг трафика и получить cookie и исполнить роль пользователей. Это - то, о чем недавняя Firesheep суматоха была всем:

http://www.google.com/search?q=firesheep http://www.google.com/search?q=cookie+session+security

1
задан 18 January 2013 в 00:00
3 ответа

EDIT **: Вам нужно ядро ​​3.7+, так как тогда они выпустили таблицу NAT для ipv6. Затем вы используете iptables 1.4.17 и можете использовать простую команду:

  • ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

ORIGINAL **:

На веб-сайте netfilter вы можете найти:

  • все виды трансляции сетевых адресов и портов, например NAT / NAPT (IPv4 и IPv6)

Из справочной страницы ipv6 ( http://linux.die.net/man/8/ip6tables )

  • SNAT
  • Виртуальное состояние, соответствующее, если исходный адрес источника отличается от адресата ответа.
  • DNAT
  • Виртуальное состояние, соответствующее, если исходный адрес назначения отличается от источника ответа.

Кажется, это возможно. Но я не нашел примеров его использования.

4
ответ дан 3 December 2019 в 16:26

Нет NAT с IPv6. Один из основных моментов IPv6 - устранение NAT. NAT был изобретен (в первую очередь) как способ увеличить полезное пространство IPv4. С IPv6 мы возвращаемся к исходной конструкции, когда все конечные точки в Интернете адресуются со всех остальных конечных точек.

2
ответ дан 3 December 2019 в 16:26

У меня есть таблица nat:

apoc ~ # ip6tables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

И я могу писать правила SNAT:

apoc ~ # ip6tables -t nat -A POSTROUTING -o eth1 -j SNAT --to 2001:db8::1
apoc ~ # ip6tables -t nat -nvL POSTROUTING
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 SNAT       all      *      eth1    ::/0                 ::/0                 to:2001:db8::1

Это на ArchLinux с ядром 3.10.7-1-ARCH; это довольно недавнее дополнение к коду netfilter.

Я должен повторить Майкла Хэмптона:

Не говоря уже о том, что если вы даже думаете о NAT в контексте Развертывание IPv6, что-то ужасно не так, и вам нужно вернуться схема вашей сети.

2
ответ дан 3 December 2019 в 16:26

Теги

Похожие вопросы