DimkaS
написал 17 апреля 2008 года в 14:40 (985 просмотров)
Ведет себя
как мужчина; открыл 84 темы в форуме, оставил 922 комментария на сайте.
Есть gprs router, за которым стоит машина с ftp. Нужно получить доступ из вне.
# iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 2121 -j DNAT --to-destination 192.168.1.10:21 # iptables -A FORWARD -i ppp0 -p tcp --dport 21 -j ACCEPT
# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ftp Chain OUTPUT (policy ACCEPT) target prot opt source destination # iptables -L -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- anywhere anywhere tcp dpt:2121 to:192.168.1.10:21 Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE !esp -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination #
$ telnet xxxxx 2121 Trying xxxxx... telnet: Unable to connect to remote host: Connection timed out
маскарадинг исходящих соединений на роутере сделан так:
# iptables -t nat -A POSTROUTING -p ! esp -o ppp0 -j MASQUERADE
PS: на машине с ftp два интерфейса и тот, к которому подключен роутер — не дефолтный. Роутер доступен из инета, роутер видит инет, роутер видит машину с ftp и может установить ftp соединение с ней.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
1) Если в цепочке стоит полиси ACCEPT, то остальные правила не обрабатываются, на сколько я помню.
2) Если на машине с ftp-сервером в качестве шлюза по умолчанию указан другой гейт, то ты в пролёте. тебе надо надо менять это правило, сделав гейтом по умолчанию шлюз с iptables, или тогда для каждой машины, которой необходимо получить доступ по ftp, писать отдельное правило в таблице.
Ааа, понял. Т.е. мне имеет смысл SNAT добавить, чтоб ответ шёл тем же путём?
MASQUERADE должно хватить. Хотя я предпочитаю SNAT.
Но одного SNAT не хватит. Ты не забывай про route.
Намано, если делать SNAT, то ответ уходит к роутеру.
Можно не делать, но тогда надо defaultroute на роутер настроить.
В общем, спасибо, разобрался :)