Я пытаюсь открыть порт на своем сервере CentOS ... Я попытался использовать iptables, добавив «-A INPUT -p udp -m udp --dport portnum -j ACCEPT», но не работал. Я попытался установить CSF, добавить порты и отключить тестовый режим. Тоже не сработало ...
Любая идея, что я делаю неправильно?
Моя текущая конфигурация iptables:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [11:1608]
:acctboth - [0:0]
-A INPUT -j acctboth
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 43 -j ACCEPT
-A INPUT -p udp -m udp --dport 43 -j ACCEPT
-I INPUT -p tcp -m tcp --dport 43 -j ACCEPT
-A OUTPUT -j acctboth
-A acctboth -s myIP ! -i lo -p tcp -m tcp --dport 80
-A acctboth -d myIP ! -i lo -p tcp -m tcp --sport 80
-A acctboth -s myIP ! -i lo -p tcp -m tcp --dport 25
-A acctboth -d myIP ! -i lo -p tcp -m tcp --sport 25
-A acctboth -s myIP ! -i lo -p tcp -m tcp --dport 110
-A acctboth -d myIP ! -i lo -p tcp -m tcp --sport 110
-A acctboth -s myIP ! -i lo -p icmp
-A acctboth -d myIP ! -i lo -p icmp
-A acctboth -s myIP ! -i lo -p tcp
-A acctboth -d myIP ! -i lo -p tcp
-A acctboth -s myIP ! -i lo -p udp
-A acctboth -d myIP ! -i lo -p udp
-A acctboth -s myIP ! -i lo
-A acctboth -d myIP ! -i lo
-A acctboth ! -i lo
-A acctboth -d myIP ! -i lo -p tcp -m tcp --sport 43
COMMIT
Но я тем временем установил CSF, чтобы попытаться увидеть, не был ли я тупым и не могу работать с iptables (easyir для понимания файла cfg), так что ... вероятно, не здесь, что мне нужно что-то изменить сейчас.
::: РЕДАКТИРОВАТЬ
Поработав еще немного, кажется, проблема распространяется на любой новый порт, который я пытаюсь открыть ... какие-нибудь идеи?
Во-первых, получите список ваших текущих правил:
iptables -L -v
Например
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
38M 26G ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
489 47582 ACCEPT icmp -- any any anywhere anywhere
147K 8842K ACCEPT all -- lo any anywhere anywhere
884 50328 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:ssh
108K 6441K ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http
40094 2382K ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:https
110K 27M REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 36M packets, 20G bytes)
pkts bytes target prot opt in out source destination
Вы заметите REJECT
правило в конце INPUT
цепь. Вам нужно будет установить правило, по которому вы хотите разрешить трафик из перед это правило, иначе оно будет отклонено, так как правила обрабатываются по порядку. Вы можете вставить правило перед REJECT
правило с использованием -I INPUT 7
, где 7
это номер строки, в которую вы хотите вставить правило.
Например.
iptables -I INPUT 7 -m state --state NEW -m tcp -p tcp --dport 43 -j ACCEPT
Бегать iptables -L -v
снова, и теперь вы должны увидеть это правило.
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
38M 26G ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
489 47582 ACCEPT icmp -- any any anywhere anywhere
147K 8843K ACCEPT all -- lo any anywhere anywhere
884 50328 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:ssh
108K 6443K ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:http
40099 2382K ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:https
0 0 ACCEPT tcp -- any any anywhere anywhere state NEW tcp dpt:nicname
110K 27M REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- any any anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 184 packets, 19752 bytes)
pkts bytes target prot opt in out source destination
Теперь вам нужно сохранить правила, чтобы после перезагрузки применялись те же правила.
Бегать /sbin/service iptables save
, который сохранит ваши текущие правила в /etc/sysconfig/iptables
.
-A INPUT -p udp -m udp --dport portno -j ACCEPT
должно сработать. Ты можешь попробовать netstat -tpln |grep portno
и вставить вывод?