Ответ Джерарда сработал для меня после некоторого вмешательства. Если вы используете Windows 10, когда вы делитесь интернет-соединением с одного устройства на другое, порт Ethernet, получающий соединение, автоматически меняет свой IP-адрес на статический IP-адрес (, в моем случае 192.168.137.1/24 ).. Я вынужден использовать этот IP-адрес и диапазон, все остальное дает мне ошибку «Не удалось разрешить хост» при попытке пропинговать. Мне пришлось установить IP-адрес eth0 моего ноутбука с Linux на что-то в диапазоне (, например 192.168.137.2/24 ), затем
'route add default gw 192.168.137.1 eth0'
, а также каким-то образом настроить DNS (, установив для /etc/resolv.conf значение namespace x.x.x.x
или другую более постоянную конфигурацию ).
Что «идет не так», так это то, что вы указываете iptables во второй команде :сбросить все подключения к порту назначения 22, и это, по-видимому, включает ваше собственное подключение к ящику. Вы подключаетесь с клиентского компьютера с MAC-адресом, указанным в первом правиле?
Я бы порекомендовал вам сделать это с помощью файла правил iptables. И используйте команды iptables-save
и iptables-restore
. По сути, вы создаете текстовый файл (iptables_rulesv4
), а затем говорите iptables восстановить себя по этим правилам. Вот базовый пример с двумя правилами.
*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT ACCEPT
-A INPUT -p tcp --destination-port 22 -m mac --mac-source XX:XX:XX:XX:XX:XX -m comment --comment "Allow ssh connections from specific MAC address" -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -m comment --comment "Maintain open connections" -j ACCEPT
COMMIT
1:*filter
-Это таблица iptables для управления, таблица фильтров
2 -4 :Эти файлы имеют состояние по умолчанию :INPUT и FORWARD отбрасываются (DROP )по умолчанию, OUTPUT разрешен (ACCEPT )по умолчанию.
5 :Правило 1 -Разрешает ssh-соединения порта, которые исходят от MAC-адреса XX:XX:XX:XX:XX:XX
.
6 :Правило 2 -Разрешить все установленные или открытые соединения.
7 :Зафиксируйте эти правила в iptables.
Примечание. :iptables работает, сопоставляя пакет с первым найденным правилом, которое соответствует, а затем, если правила не совпадают, используется соответствующее правило по умолчанию.
Затем вы можете запустить команду
sudo iptables-restore iptables_rulesv4
Чтобы применить эти правила к компьютеру. Затем вы можете просмотреть свой набор правил с помощью
sudo iptables -L -n -t filter
Обратите внимание. :Не используйте приведенный выше набор правил для своего сервера вслепую. Он предназначен только в качестве примера. Вы должны определить, каковы ваши потребности в безопасности и что является безопасным для вашей организации, и разработать набор правил, отвечающий вашим потребностям в безопасности.