У меня есть vps и его интерфейс venet0:0
.
Я хотел бы заблокировать весь входящий трафик с этого интерфейса и разрешить только на определенных портах:
- тср 22223-29
- UDP 33330
- ТКР 33332
Также я хочу разрешить все установленные подключения, которые происходят с сервера в Интернет.
Существует также второй виртуальный интерфейс с именем tun1
и я хочу заблокировать все на этом интерфейсе, кроме портов:
- ТКП 44430
- УДП 44431
Я заблудился о том, как заблокировать все на этом этапе.
Вот пример того, что у меня уже есть, но apache по-прежнему работает на общедоступном IP, хотя не должен.
# Flushing all rules iptables --flush iptables --delete-chain iptables -F iptables -X
### interface section use public Internet (venet0:0) ### iptables -A INPUT -i venet0:0 -j DROP
# Setting default filter policy iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP
#################################################
# allow loopback
#################################################
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
#################################################
# drop all ICMP
#################################################
iptables -A INPUT -p icmp --icmp-type any -j DROP iptables -A OUTPUT
-p icmp -j DROP
#################################################
# allow established connections
#################################################
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#################################################
# allow public per port
#################################################
# 22223 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22223 -j ACCEPT
# 1194 OpenVPN iptables -A INPUT -m state --state NEW -m udp -p udp --dport 1194 -j ACCEPT