Jump to content

Recommended Posts

Posted

Всем привет. Подскажите, как сделать нат 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

Posted

"Не помогает" - это что значит? Какое правило не работает? (смотрим счетчики с iptables -v). Возможно в FORWARD accept с 91... на 10... надо.

Сама по себе схема рабочая вполне (у меня кое-где так сделано) , но в вашем случае лучше наверное stateless nat через tc action сделать - оно менее затратное.

Хотя почему нельзя сразу давать реальник в этой схеме - мне тоже не понятно

Posted (edited)

Лучше выводить не с номерами строк, а с счетчиками. Тогда сразу будет видно, какое правило глючит iptables-save -c -t nat

Ну и у цепочки FORWARD default policy DROP. Надо бы разрешить.

Edited by vop
Posted

А как сразу дать реальный клиенту?

 

Что бы кому-нибудь что-нибудь дать, надо это что-нибудь иметь. Если оно уже есть, то на интерфейсе настраивается реальная подсетка, и клиентыу просто выдается реал-адрес.

Posted

Все так и работат, только по 82 опции выдаю серые ип и гоню через нат сервер. По впн выдаю реальные. Работаю по схеме влан на дом. Как выдав реальные, оно работало?

Posted (edited)

А какая в данном случае разница серый/белый IP? Выдаем пользователю белый IP, и если с маршрутизацией всё ок должно работать без проблем.

Edited by purecopper
Posted

бред какой-то, выдавайте публичный адрес на ppp соедиение (впн) и не парьтесь с НАТ-ом.

 

маршрутов нет? долго прописать? с BGP роутера на этот сервер терминации ppp

Posted (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 by Giga-Byte
Posted (edited)

У меня такая схема

Аплинк-нас -клиент

значит ещё проще, никаких маршрутов писать не надо.

публичный ипишник на ppp интерфейс и всё будет работать

Edited by Giga-Byte

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...