У меня проблема, я добавил в свои правила IPtables следующее:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 161 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 161 -j ACCEPT
но когда я сканирую с помощью nmap или любого другого инструмента, он говорит следующее:
Not shown: 998 filtered ports
PORT STATE SERVICE
22/tcp open ssh
161/tcp closed snmp
также когда я делаю:
netstat -apn | grep snmpd
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 3669/snmpd<br>
udp 0 0 0.0.0.0:161 0.0.0.0:* 3669/snmpd<br>
unix 2 [ ] DGRAM 226186 3669/snmpd
Также:
service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:161
5 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:161
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
7 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Есть идеи, что происходит? Нет UDP в закрытом / открытом состоянии. Что мне нужно сделать?
По умолчанию, snmpd
слушает UDP-порт 161 на всех интерфейсах. Если вы хотите использовать TCP, вам нужно будет настроить его в своем snmpd.conf
или в /etc/default/snmpd
.
Дело в том, что nmap
видит порт 161 как "закрытый", а не "отфильтрованный", означает, что он получил RST
пакет взамен, когда он попытался связаться с TCP-портом 161 вместо того, чтобы получить ничего обратно. Это означает, что ваши правила IPTables работают нормально.