Cramac Posted October 19, 2013 Posted October 19, 2013 Всем привет. Подскажите, как сделать нат 1 в 1. Пробую правила: iptables -t nat -I PREROUTING -i eth3 -d 91.x.x.15 -j DNAT --to-destination 10.10.10.4 iptables -t nat -I POSTROUTING -s 10.10.10.4 -j SNAT --to-source 91.x.x.15 не помогает... eth3 - интерфейс смотрящий в мир Сейчас адрес выдается по pptp правила у меня такие сейчас: # iptables --list -n -t nat --line-numbers Chain PREROUTING (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 match-set Allow_user src 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 match-set Allow_user dst Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain POSTROUTING (policy ACCEPT) num target prot opt source destination 1 SNAT all -- 192.168.0.0/16 0.0.0.0/0 to:188.x.x.38 2 SNAT all -- 172.20.0.0/16 0.0.0.0/0 to:188.x.x.38 3 SNAT all -- 10.10.0.0/16 0.0.0.0/0 to:188.x.x.38 # iptables --list -n --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 3 code 2 2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x3F/0x00 3 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x03/0x03 4 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x06 5 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x05/0x05 6 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x11/0x01 7 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x30/0x20 Chain FORWARD (policy DROP) num target prot opt source destination 1 DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp STRING match "|7fffffffab|" ALGO name kmp FROM 40 TO 44 2 tcp -- 192.168.0.0/16 0.0.0.0/0 tcp dpt:25 state NEW recent: SET name: SMTP side: source 3 REJECT tcp -- 192.168.0.0/16 0.0.0.0/0 tcp dpt:25 state NEW recent: UPDATE seconds: 60 hit_count: 5 name: SMTP side: source reject-with icmp-port-unreachable 4 ACCEPT all -- 0.0.0.0/0 10.10.10.6 5 ACCEPT all -- 10.10.10.6 0.0.0.0/0 6 ACCEPT all -- 0.0.0.0/0 10.10.10.3 7 ACCEPT all -- 10.10.10.3 0.0.0.0/0 8 ACCEPT all -- 0.0.0.0/0 10.10.10.50 9 ACCEPT all -- 10.10.10.50 0.0.0.0/0 10 NETFLOW all -- 0.0.0.0/0 0.0.0.0/0 match-set Allow_user src NETFLOW 11 NETFLOW all -- 0.0.0.0/0 0.0.0.0/0 match-set Allow_user dst NETFLOW 12 TCPMSS tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS set 1460 13 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 match-set Allow_user src 14 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 match-set Allow_user dst Chain OUTPUT (policy ACCEPT) num target prot opt source destination Вставить ник Quote
Giga-Byte Posted October 19, 2013 Posted October 19, 2013 объясните мне неграмотному, зачем это надо? почему не выдавать реальный ипишник клиенту? Вставить ник Quote
Cramac Posted October 19, 2013 Author Posted October 19, 2013 Я и хочу клиенту дать реальный но по текущей схеме по другому никак. Как мне кажется Вставить ник Quote
alex_001 Posted October 19, 2013 Posted October 19, 2013 "Не помогает" - это что значит? Какое правило не работает? (смотрим счетчики с iptables -v). Возможно в FORWARD accept с 91... на 10... надо. Сама по себе схема рабочая вполне (у меня кое-где так сделано) , но в вашем случае лучше наверное stateless nat через tc action сделать - оно менее затратное. Хотя почему нельзя сразу давать реальник в этой схеме - мне тоже не понятно Вставить ник Quote
vop Posted October 19, 2013 Posted October 19, 2013 (edited) Лучше выводить не с номерами строк, а с счетчиками. Тогда сразу будет видно, какое правило глючит iptables-save -c -t nat Ну и у цепочки FORWARD default policy DROP. Надо бы разрешить. Edited October 19, 2013 by vop Вставить ник Quote
Cramac Posted October 19, 2013 Author Posted October 19, 2013 А как сразу дать реальный клиенту? Вставить ник Quote
vop Posted October 19, 2013 Posted October 19, 2013 А как сразу дать реальный клиенту? Что бы кому-нибудь что-нибудь дать, надо это что-нибудь иметь. Если оно уже есть, то на интерфейсе настраивается реальная подсетка, и клиентыу просто выдается реал-адрес. Вставить ник Quote
vop Posted October 19, 2013 Posted October 19, 2013 Пример чего? Чем раздается pptp? Вставить ник Quote
vop Posted October 19, 2013 Posted October 19, 2013 Там можно прямо в chap-sercrets указывать адрес клиента, или выдавать его через радиус. Вставить ник Quote
Cramac Posted October 19, 2013 Author Posted October 19, 2013 Мне не надо через впн, мне надо на прямую. Вставить ник Quote
Cramac Posted October 19, 2013 Author Posted October 19, 2013 Как настроить? Что на сервере прописать? Вставить ник Quote
purecopper Posted October 19, 2013 Posted October 19, 2013 Если коммутаторы умеют option 82, то примерно так: http://habrahabr.ru/post/108453/ Вставить ник Quote
Cramac Posted October 19, 2013 Author Posted October 19, 2013 Все так и работат, только по 82 опции выдаю серые ип и гоню через нат сервер. По впн выдаю реальные. Работаю по схеме влан на дом. Как выдав реальные, оно работало? Вставить ник Quote
purecopper Posted October 19, 2013 Posted October 19, 2013 (edited) А какая в данном случае разница серый/белый IP? Выдаем пользователю белый IP, и если с маршрутизацией всё ок должно работать без проблем. Edited October 19, 2013 by purecopper Вставить ник Quote
Cramac Posted October 19, 2013 Author Posted October 19, 2013 Поэтому и хотел пока натом пока нет ни маршрутов ни настроек необходимых Вставить ник Quote
Giga-Byte Posted October 20, 2013 Posted October 20, 2013 бред какой-то, выдавайте публичный адрес на ppp соедиение (впн) и не парьтесь с НАТ-ом. маршрутов нет? долго прописать? с BGP роутера на этот сервер терминации ppp Вставить ник Quote
Giga-Byte Posted October 20, 2013 Posted October 20, 2013 (edited) не понятно? вот как-то так: uplink --- BGP router --- downlink --- PPP termination --- client 90.2.2.1/30 90.2.2.2/30 ppp0 90.1.1.1 ppp1 90.1.1.2 pppN 90.1.1.N на BGP роутере: route to 90.1.1.0/24 via 90.2.2.2 на PPP termination: default GW 90.2.2.1 Edited October 20, 2013 by Giga-Byte Вставить ник Quote
Cramac Posted October 20, 2013 Author Posted October 20, 2013 У меня такая схема Аплинк-нас -клиент Вставить ник Quote
Giga-Byte Posted October 20, 2013 Posted October 20, 2013 (edited) У меня такая схема Аплинк-нас -клиент значит ещё проще, никаких маршрутов писать не надо. публичный ипишник на ppp интерфейс и всё будет работать Edited October 20, 2013 by Giga-Byte Вставить ник Quote
Cramac Posted October 20, 2013 Author Posted October 20, 2013 На ппп у меня работает давно. Хочу без ппп Вставить ник Quote
kayot Posted October 20, 2013 Posted October 20, 2013 Выдайте по dhcp точно так же как серые выдаете, непонятна проблема. Ну и на ip unnumbered и его аналоги поглядите, пригодится. Вставить ник Quote
Cramac Posted October 20, 2013 Author Posted October 20, 2013 Нас у меня в сеть смотрит адресом 10.0.0.1 Клиенту выдам если из 91.х.х.0 то на насе надо поднять интерфейс какой? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.