LINUX.ORG.RU

Для тех кто не в курсе, -j SNAT это Source NAT и к Full Cone NAT отношения не имеет.

Лол, ну ищи патч тогда, да. Коллега.

Jameson ★★★★★
()

Шта? Тебе DNAT, может?

A full cone NAT (also known as a one to one NAT) is the only type of NAT where the port is permanently open and allows inbound connections from any external host. A full cone NAT maps a public IP address and port to a LAN IP and port. Any external host can send data to the LAN IP through the mapped NAT IP and port.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Ему на самом деле нужны оба, но он не понимает как работает iptables и полон ЧСВ.

Для тех кто не в курсе

Так что пусть погуглит сам, блок схему прохождения пакетов через iptables найдет и распечатает например...

Jameson ★★★★★
()

Не нужен патч.

iptables -t nat -A POSTROUTING -o extIF -j SNAT --to-source ext.ip
iptables -t nat -A PREROUTING -i extIF -j DNAT --to-destination local.ip

или для целой сети:

iptables -t nat -A POSTROUTING -o extIF -j NETMAP --to ext.net/mask
iptables -t nat -A PREROUTING -i extIF -j NETMAP --to local.net/mask

CFA
()

патч нужен, установка командой man.

upcFrost ★★★★★
()
Ответ на: комментарий от CFA

iptables -t nat -A PREROUTING -i extIF -j DNAT --to-destination local.ip

В терминологии обычного (например настольного маршрутизатора) это называется DMZ, и отношения к Full Cone NAT это не имеет.

-j NETMAP

Вот это уже теплее но немного не то.

Nuclerdragon
() автор топика
Ответ на: комментарий от Nuclerdragon

В терминологии нормальных людей ты называешься дебилом, и к специалистам отношения не имеешь. Тебе уже объяснили про dnat и snat, но ты похоже понять не способен что тебе говорят

no-dashi ★★★★★
()
Ответ на: комментарий от CFA
iptables -t nat -A PREROUTING -i extIF -j DNAT --to-destination local.ip

хорошо, это частный случай full cone nat, для одного IP, нужно для любых, именно для любых а не для заданной сети, сетей может быть много и добавляются они динамически.

Вот пример правила full cone nat, которое работает на маршрутизаторе на чипсете brodcom (сборка iptables от Broadcom):

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE --mode fullcone
стандартный iptables не понимает опции --mode

Nuclerdragon
() автор топика

Даже интересно стало. Найдете решение, напишите.

anc ★★★★★
()

Это теперь через tc делается, если нужен one-to-one NAT. что-то типа:

# input packets
tc qdisc add dev eth1 ingress handle ffff:
tc filter add dev eth1 parent ffff: handle .... protocol ip prio 10 u32 .... match ip dst 1.1.1.1/32 action nat ingress 1.1.1.1/32 10.0.0.1
# output packets
tc qdisc add dev eth1 root handle 1:0 htb default 1 r2q 1
tc filter add dev eth1 parent 1: handle .... protocol ip prio 10 u32 ... match ip src 10.0.0.1/32 action nat egress 10.0.0.1/32 1.1.1.1

Мутновато, конечно, как и всё связанное с tc, но работает отлично. Можно ещё NOTRACK заюзать, чтобы conntrack не забивался говнами.

Stanson ★★★★★
()
Ответ на: комментарий от Nuclerdragon

нужно для любых, именно для любых а не для заданной сети, сетей может быть много и добавляются они динамически.

Именно так iptables не умеет. Я был подключен к провайдеру, у которого была похожая схема - клиенту выдавался частный адрес, но каждый клиент натился на уникальный «белый» адрес, который мог меняться, если от клиента долгое время не было трафика. И это был не просто NAT, а тот самый Full Cone NAT. И это было какое то жутко энтерпрайзное за много-много денег.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE --mode fullcone

MASQUERADE просто прозволяет не указывать --to-source, адрес подхватиться с интерфейса сам, и будет корректно работать если адрес меняется. Как работает --mode fullcone не понятно, если за роутером несколько клиентов, а «source» адрес только один? А Full Cone NAT подразумевает, что для каждого адреса за NAT, был свой собственный «внешний» адрес. У тебя в наличии больше одного «белого» IP? Или натятся вообще частные адреса?

CFA
()
Ответ на: комментарий от CFA

А Full Cone NAT подразумевает, что для каждого адреса за NAT, был свой собственный «внешний» адрес.

Я так понял, что Full Cone отличается от обычного, симметричного ната тем, что будет принимать обратные пакеты с любого хоста, а не только с того, на который был запрос. Т.о. для каждого клиента не обязателен свой адрес.

Davyd ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.