Страница 1 из 1

как пробросить порт средствами iptables.. иль ешшо как?

Добавлено: 2008-10-03 21:54:53
dekloper
Hello World! :smile:
Такая задачка: надо перекинуть порт по хттп, тобиш, при обращении на хттп://myrouter:x1 улетало бы все на myserv:x2 (x1,x2 - отличные от 80).
Полагаю, сделать это средствами ипитаблез, тем более, что такое у меня уже работает, разница в том, что x1=x2=80 (делал помануалу с опеннета)

Код: Выделить всё

iptables -t nat -A PREROUTING --dst $INET_IP -p tcp --dport 80 -j DNAT --to-destination $HTTP_IP
iptables -t nat -A POSTROUTING -p tcp --dst $HTTP_IP --dport 80 -j SNAT --to-source $LAN_IP
iptables -t nat -A OUTPUT --dst $INET_IP -p tcp --dport 80 -j DNAT --to-destination $HTTP_IP
(здесь myrouter==$INET_IP,$LAN_IP; myserv==$HTTP_IP)
что тут надо поменять\добавить...?

зы. былобы интересно также решение на фре (ipfw,pf,etc..) :smile:

Re: как пробросить порт средствами iptables.. иль ешшо как?

Добавлено: 2008-10-05 3:58:07
alexco

Код: Выделить всё

iptables -t nat -A PREROUTING -p TCP --dport 81 -i $INET_IP  -j DNAT --to-destination $HTTP_IP:80
iptables -t nat -A PREROUTING -p TCP --dport 81 -i $LAN_IP  -j DNAT --to-destination $HTTP_IP:80
При таких правилах будет осуществление проброс пакетов из интернета и локалки откуда береш интернет, на твой сервер

Изнутри своей сети заходи на сервер напрямую, без тех иСепов что ты написал! И все это с учетом что у тебя

Код: Выделить всё

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT

Re: как пробросить порт средствами iptables.. иль ешшо как?

Добавлено: 2008-10-06 11:01:04
dekloper
alexco писал(а):

Код: Выделить всё

iptables -t nat -A PREROUTING -p TCP --dport 81 -i $INET_IP  -j DNAT --to-destination $HTTP_IP:80
iptables -t nat -A PREROUTING -p TCP --dport 81 -i $LAN_IP  -j DNAT --to-destination $HTTP_IP:80
При таких правилах будет осуществление проброс пакетов из интернета и локалки откуда береш интернет, на твой сервер

Изнутри своей сети заходи на сервер напрямую, без тех иСепов что ты написал! И все это с учетом что у тебя

Код: Выделить всё

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
неа.. чет не то...

Код: Выделить всё

 ~]# iptables -t nat -nx -L PREROUTING
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            $INET_IP      tcp dpt:80 to:$HTTP_IP
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:81 to:$HTTP_IP:80
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:81 to:$HTTP_IP:80
первая строчка вывода цепочки прероутинг, как я говорил, рабочий вариант того, что уже есть

Код: Выделить всё

iptables -t nat -A PREROUTING --dst $INET_IP -p tcp --dport 80 -j DNAT --to-destination $HTTP_IP
далее, чет непанятна... почему в сорс и дест. 0/0? где мои $INET_IP,$LAN_IP?

Re: как пробросить порт средствами iptables.. иль ешшо как?

Добавлено: 2008-10-06 12:03:10
alexco
Ну а ты объявил переменные?
типо так:
$INET_IP="77.77.77.77"
$LAN_IP="192.168.1.1"
$HTTP_IP="172.22.1.2"

Re: как пробросить порт средствами iptables.. иль ешшо как?

Добавлено: 2008-10-06 12:47:36
Adekamer
скрипткиддинг - даже отвечать неохота

Re: как пробросить порт средствами iptables.. иль ешшо как?

Добавлено: 2008-10-06 15:19:47
dekloper
alexco писал(а):Ну а ты объявил переменные?
типо так:
$INET_IP="77.77.77.77"
$LAN_IP="192.168.1.1"
$HTTP_IP="172.22.1.2"
ну ясен хрен.. там реальные айпиЖнеГи...
Adekamer писал(а):скрипткиддинг - даже отвечать неохота
сэр!... я "Моментом" не увлекаюсь! какой скрипт?!! какой кидденГ?!!

Код: Выделить всё

iptables -t nat -nx -L PREROUTING
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            $INET_IP
какбы, по вашему, в вывод команды имя переменной попало :fool:
канешно же там айпиЖнеГ (цифра)! :)