я нахожусь в лабиринте, я тщетно пытаюсь настроить правила, чтобы иметь возможность доступа из Интернета мой внутренний веб-сервер (192,168,12,10).
дома, у меня есть Ubuntu 20,04 шлюз (192,168,12,1) с двумя интерфейсами:
У меня также есть некоторые ноутбуки.
Кажется, что все работает нормально со следующими правилами iptables. ПО умолчанию я не имею доступа извне к внутреннему.
iptables -vnL --line-number
Chain INPUT (policy DROP 373 packets, 25051 bytes)
num pkts bytes target prot opt in out source destination
1 101 9891 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
2 16175 3203K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
3 2517 342K ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT all -- lo lo 0.0.0.0/0 0.0.0.0/0
2 0 0 ACCEPT all -- lo eth1 0.0.0.0/0 0.0.0.0/0
3 0 0 ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0
4 58714 11M ACCEPT all -- br0 eth1 0.0.0.0/0 0.0.0.0/0
5 60179 155M ACCEPT all -- eth1 br0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
6 0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/min burst 5 LOG flags 0 level 7 prefix "FW FW denied: "
Chain OUTPUT (policy ACCEPT 2098 packets, 234K bytes)
num pkts bytes target prot opt in out source destination
iptables -t nat -vnL --line-number
Chain PREROUTING (policy ACCEPT 2209 packets, 192K bytes)
num pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 1215 packets, 89074 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 648 packets, 59463 bytes)
num pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 3807 290K MASQUERADE all -- * eth1 0.0.0.0/0 0.0.0.0/0
Моя проблема заключается в том, что я не могу установить правильные правила для доступа к моему веб-серверу извне.
У меня было два правила в цепочке FORWARD и два правила в цепочке PREROUTING.
iptables -vnL --номер строки
Chain INPUT (policy ACCEPT 2 packets, 100 bytes)
num pkts bytes target prot opt in out source destination
1 155 14331 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
2 21779 4281K ACCEPT all -- br0 * 0.0.0.0/0 0.0.0.0/0
3 2953 401K ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT all -- lo lo 0.0.0.0/0 0.0.0.0/0
2 0 0 ACCEPT all -- lo eth1 0.0.0.0/0 0.0.0.0/0
3 0 0 ACCEPT all -- br0 br0 0.0.0.0/0 0.0.0.0/0
4 67303 12M ACCEPT all -- br0 eth1 0.0.0.0/0 0.0.0.0/0
5 0 0 ACCEPT tcp -- eth1 * 0.0.0.0/0 192.168.12.10 ctstate NEW,RELATED,ESTABLISHED tcp dpt:80
6 0 0 ACCEPT tcp -- eth1 * 0.0.0.0/0 192.168.12.10 ctstate NEW,RELATED,ESTABLISHED tcp dpt:443
7 69670 168M ACCEPT all -- eth1 br0 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
8 1 60 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 5/min burst 5 LOG flags 0 level 7 prefix "FW FW denied: "
Chain OUTPUT (policy ACCEPT 8 packets, 1208 bytes)
num pkts bytes target prot opt in out source destination
iptables -t nat -vnL --номер строки
Chain PREROUTING (policy ACCEPT 211 packets, 19200 bytes)
num pkts bytes target prot opt in out source destination
1 1 40 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:192.168.12.10:80
2 0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 to:192.168.12.10:443
Chain INPUT (policy ACCEPT 169 packets, 9937 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 21 packets, 1677 bytes)
num pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 12 packets, 813 bytes)
num pkts bytes target prot opt in out source destination
1 4419 338K MASQUERADE all -- * eth1 0.0.0.0/0 0.0.0.0/0
Результат всегда одинаков.
При попытке, например, завитков -I 123,123,123,123
запрос направляется на веб-сервер внутри шлюза. Когда включено, я получаю ответ, когда выключен завиток: (7) Не удалось подключиться к 123.123.123.123 порт 80: Соединение отклонено
Мой запрос никогда не доходит до внутреннего веб-сервера 192.168.12.10.
UFW выключен и i установлен net.ipv4.ip_forward=1.
Если кто-то может мне помочь?
Спасибо
-121--899779-С ssmtp, есть ли способ включить файл как только тело?
Я хотел бы отправить, как ниже, так что я могу просто отправить себе по электронной почте что-то:
$ ssmtp me@gmail.com
To: me
From: me
Subject: A File
< fileName
Ctrl + D
Я пробовал это, но только «< fileName» получает по электронной почте, а не файл.
Я не хочу открывать файл и предварять К:, От:, Тема:, а затем удалять это из файла после его поступления.
Я знаю, что могу сделать просто:
ssmtp me@gmail.com <fileName
Ctrl + D
Но это оставляет поля Тема, Кому и От пустыми в моем почтовом клиенте.
Спасибо!
Ринзвинд, спасибо за вдохновение. Вот что я придумал. Я положил это в свой.Файл bash_aliases:
alias email='{
echo To: Kevin;
echo From: Kevin;
echo Subject: Subject;
echo;
cat FILE;
} | ssmtp myEmailAddress'
Чтобы запустить это, я набираю:
$ email
(Then I press Ctrl + Alt + E)
, чтобы вызвать команду, не выполняя ее. Затем я редактирую ФАЙЛ или что-нибудь еще, что хочу, и затем нажимаю Enter.
Также работает добавление подсказки для имени файла при постоянной отправке самому себе:
alias email='{
echo To: Kevin;
echo From: Kevin;
echo Subject: Subject;
echo;
read -p "Enter filename: " fileName;
cat $fileName;
} | ssmtp myEmailAddress'
В этом случае я не нажимаю Ctrl + Alt + E. Я просто нажимаю Enter, затем указываю имя файла и нажимаю Enter. очередной раз.
Конечно, я бы использовал другой псевдоним для одного из них, если бы использовал оба,но первый более универсален, поэтому я его использую.
Весело!
{
echo To: me@gmail.com
echo From: from@gmail.com
echo Subject: A file
echo
find /dir/to/folder/ -type f -size +1M -name "fileName"
} | ssmtp me@gmail.com