[ linux ] Выделение реального IP адреса пользователю

Slux

New member
Регистрация
08.12.2005
Сообщения
15
Реакции
2
Баллы
3
Местоположение
Ua
Не нашел раздела для новичков, пост лью сюда....
Есть шлюз на Slackware
За ним есть подсетка 10.230.0.240/30
Хочу допустим машине с Ип 10.230.0.247 дать выход с реал Ип... Как это реализовать?

Пробую:
iptables -t nat -A POSTROUTING -s ! 10.230.0.247 -o eth0 -j SNAT --to-source х.х.х.х
iptables -t nat -A PREROUTING -i eth0 -d _реал. Ип_ -j DNAT --to-destination 10.230.0.247
iptables -t nat -A POSTROUTING -o eth0 -s 10.230.0.247 -j SNAT --to-source _реал. Ип_

Ничего не получается.....:(
 

Vah

Member
Регистрация
08.05.2005
Сообщения
142
Реакции
5
Баллы
18
Возраст
38
Местоположение
Moscow
эммм.... что-то я понять не могу..... у тебя на интерфейсе eth0 и 10-я подсеть и реал ИП висит??

скинь ка дамп ifconfig
 

Slux

New member
Регистрация
08.12.2005
Сообщения
15
Реакции
2
Баллы
3
Местоположение
Ua
ДА висит!
А что тебя так удивило? Или я что-то не так понял...
ifconfig eth0:1 _реал. Ип_ _netmask_ up
И на eth0 теперь и реал. Ип. и 10.*


eth0 Link encap:Ethernet HWaddr 00:0A:84:84:84:84
inet addr:10.230.0.250 Bcast:10.255.255.255 Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:339873 errors:0 dropped:0 overruns:1 frame:0
TX packets:505368 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:28125517 (26.8 Mb) TX bytes:673105913 (641.9 Mb)
Interrupt:5 Base address:0xc000

eth0:1 Link encap:Ethernet HWaddr 00:0A:84:84:84:84
inet addr:_реал. ип_ Bcast:х.х.х.х Mask:255.255.255.248
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:5 Base address:0xc000
 

Vah

Member
Регистрация
08.05.2005
Сообщения
142
Реакции
5
Баллы
18
Возраст
38
Местоположение
Moscow
Описываю примерную схему выделения реального ИП.

Интернет<---->[193.10.11.10/24]Маршрутизатор(GW1) [10.10.10.10/24]<----> [10.10.10.11/24] Пользователь(USR_NET)

Делаем во внутреннюю сеть реал_ип из подсети, например 193.10.10.1/24
и получаем что на eth1 будит ИП 10.10.11.10/24 и на eth1:1 - 193.10.10.1/24
и на eth0 - 193.10.10.10/24

делаем конкретному юзеру ИП 193.10.10.100/24 и указываем шлюз 193.10.10.1/24. Клиент видит маршрутизатор.
На маршрутизаторе со стороны 193.10.11.10/24 указываем что трафик для 193.10.10.100/24 - роутить на 193.10.10.1/24 (SNAT). Таким образом интернет у нас увидит клиента с реал_ИП. И траффик с адреса 193.10.10.100/24 роутить на 193.10.11.10/24 (SNAT).... таким образом клиент увидит интернет.
 

enyuri

Active member
Регистрация
30.06.2005
Сообщения
162
Реакции
40
Баллы
28
Возраст
52
Местоположение
Москва
Slux сказал(а):
Пробую:
iptables -t nat -A POSTROUTING -s ! 10.230.0.247 -o eth0 -j SNAT --to-source х.х.х.х
iptables -t nat -A PREROUTING -i eth0 -d _реал. Ип_ -j DNAT --to-destination 10.230.0.247
iptables -t nat -A POSTROUTING -o eth0 -s 10.230.0.247 -j SNAT --to-source _реал. Ип_

Ничего не получается.....:(

У тебя все правильно. НО! _real.ip_ ДОЛЖЕН висеть альясом на интерфейсе.
повесь его на интерфейс:
ifconfig eth0:7 inet _real.ip_ netmask _real.mask_ broadcast _real.bcast_ up
 

Andrey Zentavr

New member
Регистрация
19.02.2006
Сообщения
3
Реакции
0
Баллы
1
Местоположение
Запорожье
Slux сказал(а):
Пробую:
iptables -t nat -A POSTROUTING -s ! 10.230.0.247 -o eth0 -j SNAT --to-source х.х.х.х
iptables -t nat -A PREROUTING -i eth0 -d _реал. Ип_ -j DNAT --to-destination 10.230.0.247
iptables -t nat -A POSTROUTING -o eth0 -s 10.230.0.247 -j SNAT --to-source _реал. Ип_
ИМХО так:

# От Юзера в тырнет
iptables -t filter -I FORWARD -s юзер -o eth1 -j ACCEPT
iptables -t nat -I POSTROUTING -s юзер -o eth1 -j SNAT -to-source реал_ИП
# Из тырнета к юзеру
iptables -t nat -I PREROUTING -i eth1 -d реал_ИП -j DNAT --to-destination юзер
iptables -t filter -I FORWARD -d юзер -i eth1 -j ACCEPT
# Для всех остальных
iptables -t nat -A POSTROUTING -o eth1 -j SNAT x.x.x.x
где eth1 у тебя смотрит в инет, eth0 смотрит в локалку
 
198 237Темы
635 209Сообщения
3 618 425Пользователи
Pandar96Новый пользователь
Верх