Я пытаюсь сделать брандмауэр для моего малинового пи. Правила, которые я хочу, это
Разрешить входящий SSH - это работает
Разрешить исходящий SSH - это не работает, и это моя главная проблема
- Разрешить входящий и исходящий VNC - в настоящее время это полуработы, где я могу подключиться, но я не могу выполнять какие-либо действия. Не совсем приоритет
- Разрешить исходящий https - я могу зайти на сайт, но думаю, что мне нужно добавить еще одну строку для DNS, чтобы это работало корректно при загрузке.
- Разрешить исходящие письма - это работает
- Разрешить исходящие пинг и получить ответ - это работает
- Отбросьте все остальное - думаю, это работает, потому что я не могу создать исходящий SSH, поэтому я считаю, что проблема в моем правиле.
Я знаю, что мой SSH работает в целом, так как без загруженного брандмауэра я могу сделать исходящий SSH от одного пи к другому.
#!/bin/sh
#Flush all rules
iptables -F
#Allow incoming and outgoing SSH
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
#Allow VNC sessions
sudo iptables -A INPUT -s 10.10.10.1,192.168.0.150 -m state --state NEW,ESTABLISHED -m tcp -p tcp -m multiport --dports 5900:5905,6000:6005 -j ACCEPT
sudo iptables -A OUTPUT -d 10.10.10.1,192.168.0.150 -m state --state NEW,ESTABLISHED -m tcp -p tcp -m multiport --sports 5900:5905,6000:6005 -j ACCEPT
#Accept only incoming etstablished and allow new or established outgoing
sudo iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
#Accept port 587 for email
sudo iptables -A INPUT -p tcp --sport 587 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT
#Allow ping requests to go out and get a reply
sudo iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
#Drop all other packets and protocols
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP