Нормально ли, что сеть работает без какого-либо правила ACCEPT? Потому что теперь мои iptables имеют только порты INPUT DROP, FORWARD DROP и OUTPUT DROP, такие как ssh, http(s), 53, он открыт. Я не добавляю никаких правил для портов 8333 и 9333, но это работает, и если я использую telnet (с помощью этого инструмента http://www.adminkit.net/telnet.aspx ) порт 8333 или 9333, у меня появляется сообщение об ошибке.
Ошибка подключения: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или установленное соединение не удалось, потому что подключенный хост не ответил.
Добавляю сюда все правила iptables http://notes.io/qZkF
Я попытался отправить BTC из внешнего источника и получил его. В bitcoin.conf у меня есть
рппорт = 9333
Netstat -tulpn
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 19626/nginx.conf
tcp 0 0 127.0.0.1:9333 0.0.0.0:* LISTEN 3537/bitcoind
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2446/sendmail: MTA:
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 19626/nginx.conf
tcp 0 0 0.0.0.0:5565 0.0.0.0:* LISTEN 2416/sshd
tcp 0 0 0.0.0.0:11111 0.0.0.0:* LISTEN 8575/php
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2936/mysqld
tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 2446/sendmail: MTA:
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 2440/memcached
tcp 0 0 0.0.0.0:8333 0.0.0.0:* LISTEN 3537/bitcoind
tcp6 0 0 ::1:9333 :::* LISTEN 3537/bitcoind
tcp6 0 0 :::5565 :::* LISTEN 2416/sshd
tcp6 0 0 :::8333 :::* LISTEN 3537/bitcoind
udp 0 0 127.0.0.1:11211 0.0.0.0:* 2440/memcached
Последний файл отладки.log
2015-11-22 16:33:33 receive version message: /bitcoinseeder:0.01/: version 60000, blocks=230000, us=[xxxx:xxxx:x:xxxx::]:8333, peer=304
2015-11-22 16:34:01 ERROR: AcceptToMemoryPool: free transaction rejected by rate limiter
2015-11-22 16:34:01 keypool reserve 47
2015-11-22 16:34:01 keypool return 47
2015-11-22 16:34:11 receive version message: /bitcoinseeder:0.01/: version 60000, blocks=350000, us=[xxxx:xxxx:x:xxxx::]:8333, peer=305
2015-11-22 16:34:11 ERROR: AcceptToMemoryPool: free transaction rejected by rate limiter
2015-11-22 16:34:12 ERROR: AcceptToMemoryPool: free transaction rejected by rate limiter
2015-11-22 16:34:31 ERROR: AcceptToMemoryPool: free transaction rejected by rate limiter
2015-11-22 16:34:38 ERROR: AcceptToMemoryPool: free transaction rejected by rate limiter
2015-11-22 16:34:44 ERROR: AcceptToMemoryPool: nonstandard transaction: dust
2015-11-22 16:34:53 receive version message: /bitcoinseeder:0.01/: version 60000, blocks=350000, us=[xxxx:xxxx:x:xxxx::]:8333, peer=306
С PHP я использую это
$server = new jsonRPCClient("http://$user:$passwd@127.0.0.1:9333/");
Обновление: я думаю, это потому, что у меня есть эти правила
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Стоит ли закрывать порты 8333 и 9333?
Telnet говорит «Сбой подключения», что означает, что другие не смогут подключиться к вам. Ваш iptables работает как надо.
Вы можете ошибаться, думая, что биткойн работает без правила ACCEPT, потому что вы видите исходящие соединения. Наверное 8.
Ваш netstat показывает, что биткойн ПРОСЛУШИВАЕТ, но если iptables не ПРИНИМАЕТ, он никогда не увидит никаких входящих подключений.
Попробуйте netstat -na | grep 8333
и вы увидите только исходящие соединения (адрес источника: вы).
Чтобы сделать ваш биткойн-узел доступным для внешнего мира, просто добавьте правило для принятия 8333.
Примечание НЕ открывайте 9333! Он предназначен только для локального использования, и вы можете потерять свои биткойны, если люди получат к нему доступ (на самом деле вам лучше отключить его, если вы им не пользуетесь).
iptables -t filter -A INPUT -p tcp --dport 8333 -j ACCEPT and iptables -t filter -A OUTPUT -p tcp --dport 8333 -j ACCEPT
OUTPUT
вас, возможно, вы захотите использовать DENY вместо этого. Любое приложение, отправляющее на запрещенный порт, немедленно получит сообщение об ошибке.
Ник Оделл
тааак
Яннес
тааак