iptables проброс порта внутрь сети [SOLVED]
sysambar 13 июля, 2011 - 06:49
Уважаемые линуксоиды, мне нужно настроить проброс порта внутрь сети:
10.0.0.15 - сетевой адрес, смотрящий в сторону модема
10.0.0.111 - сетевой адрес LAN - модема
10.206.188.111 - адрес смотрящий внутрь сети - является шлюзом по умолчанию у клиентов, которые выходят через него в интернет
10.206.188.164 - адрес компьютера в локальной сети на который будет установлен проброс порта на шлюзе
На модеме установлен проброс порта на адрес 10.0.0.15
Подскажите правило, если не ошибаюсь их два, которые пробросят порт внутрь сети на адрес 10.206.188.164
»
- Для комментирования войдите или зарегистрируйтесь
Ну примерно так
У меня так работает:
/sbin/iptables -t nat -A PREROUTING -d 10.0.0.15 -p tcp --dport НУЖНЫЙ_ПОРТ -j DNAT --to-destination 10.206.188.164:НУЖНЫЙ_ПОРТ
/sbin/iptables -t nat -A POSTROUTING -p tcp --dst 10.206.188.164 --dport НУЖНЫЙ_ПОРТ -j SNAT --to-source 10.0.0.15
Еще хотел узнать, как
Еще хотел узнать, как организовать в моем случае не маскарад, а именно трансляцию адресов, т.к. на скольок япомню, маскарад бывает влияет на проброс портов
а где ты увидел маскарад в
а где ты увидел маскарад в ответе???
#!/bin/bash #Машина в
#!/bin/bash
#Машина в офисе
office=10.206.188.165
#Машина администратора
admin=10.206.188.164
#Адреса роутера
server0=10.206.188.111
#server1=
#server2=
# Адрес файлового архива с mp3 и video
#video_serv=172.18.1.2
# Интерфейс смотрящий на клиентов
iface_cli=eth1
# Интерфейс смотрящий во внешний мир
iface_world=eth0
# Интерфейс смотрящий на архив
#iface_int=eth2
#Порты, на которых работает конфигуратор и авторизатор
conf_port=5555
user_port1=4444
squid_port1=3128
http_port1=80
http_port2=8080
# Разрешаем форвардинг пакетов между интерфейсами
# Эта штука необязательна, просто в некоторых дистрибутивах
# по умолчанию форвардинг разрешен, а в некоторых - запрещен
# Если мы подстрахуемся, хуже не будет
echo "1" > /proc/sys/net/ipv4/ip_forward
# Очищаем правила файрвола
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
# Политика по умолчанию DROP: всем всё запрещено
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
# Разрешаем пингам ходить всюду и всегда
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A FORWARD -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# Разрешаем всё на локальном интерфейсе
iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT
iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT
# Разрешить серверу общаться со внешним миром
sudo iptables -t filter -A INPUT -i $iface_world -j ACCEPT
sudo iptables -t filter -A OUTPUT -o $iface_world -j ACCEPT
# Разрешить видео-серверу обращаться со внешним миром и роутером
#iptables -t filter -A INPUT -s $video_serv -j ACCEPT
#iptables -t filter -A FORWARD -s $video_serv -j ACCEPT
#iptables -t filter -A FORWARD -d $video_serv -j ACCEPT
#iptables -t filter -A OUTPUT -d $video_serv -j ACCEPT
# DNS. Замечу, ДНС работает и по TCP и по UDP
iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
# SSH
iptables -t filter -A INPUT -p tcp -s $office -d $server0 --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $office -s $server0 --sport 22 -j ACCEPT
iptables -t filter -A INPUT -p tcp -s $admin -d $server0 --dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $admin -s $server0 --sport 22 -j ACCEPT
# Stargazer configurator
sudo iptables -t filter -A INPUT -p tcp -s 10.206.188.0/24 -d $server0 --dport $conf_port -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -d 10.206.188.0/24 -s $server0 --sport $conf_port -j ACCEPT
# UDP stargazer InetAccess
iptables -t filter -A INPUT -p udp -s 10.206.188.0/24 --sport $user_port1 -d $server0 -j ACCEPT
iptables -t filter -A OUTPUT -p udp -d 10.206.188.0/24 --dport $user_port1 -s $server0 -j ACCEPT
# Proxy server access
sudo iptables -t filter -A INPUT -p tcp -s 10.206.188.0/24 -d $server0 --dport $squid_port1 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -d 10.206.188.0/24 -s $server0 --sport $squid_port1 -j ACCEPT
# Web-server access
sudo iptables -t filter -A INPUT -p tcp -s 10.206.188.0/24 -d $server0 --dport $http_port1 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -d 10.206.188.0/24 -s $server0 --sport $http_port1 -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp -s 10.206.188.0/24 -d $server0 --dport $http_port2 -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -d 10.206.188.0/24 -s $server0 --sport $http_port2 -j ACCEPT
#Маскарад
#iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE
#Трансляция адресов
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 10.0.0.15
Пробовал проброс вставить, но не работает, может я где-то с правилами напортачил.....
Вроде должно так
Вроде должно так работать
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -o eth0 -j SNAT --to-source 10.0.0.15
ну и неплохо бы форвард разрешить:
iptables -A FORWARD -s 192.168.1.0/24 -o eth0 -p tcp -j ACCEPT
вместо 192.168.1.0/24 укажите ваш внутренний диапазон адресов сети.
Решилось так, открыл доступ
Решилось так, открыл доступ пользователю, на который проброс сделан и проброс заработал
Делаю проброс порта по этому
Делаю проброс порта по этому руководству http://www.gentoo.org/doc/ru/home-router-howto.xml
а в ответ
Что ему не нравится ?