потрібно правило iptables, щоб прийняти весь вхідний трафік


34

Для мого тестового середовища я хочу прийняти весь вхідний трафік, чи можу я будь-хто дати мені iptable правило, яке потрібно додати.

Мій поточний вихід iptables -L -n виглядає приблизно так

Chain INPUT (policy ACCEPT) target prot opt ​​source source
призначення ACCEPT all - 0.0.0.0/0 0.0.0.0/0 state RELATED
, ESTABLISHED ACCEPT icmp - 0.0.0.0/0
0.0.0.0/0 ACCEPT all - 0.0.0.0 / 0 0.0.0.0/0 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 стан НОВИЙ tcp dpt: 22 REJECT all - 0.0.0.0/0 0.0.0.0/0
reject-with icmp-host-ACCEPT tcp - 0.0.0.0/0
0.0.0.0/0 tcp dpt: 8443 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 8080 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 9443 ACCEPT tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 2124

Ланцюг ВПЕРЕД (політика ACCEPT) цільовий
захист opt джерело призначення НАЗАДЖИТИ всі - 0.0.0.0/0 0.0.0.0/0
відхилити-з icmp-хостом-заборонено

Ланцюговий вихід (цільовий ACCEPT) цільовий захист вибору джерела
призначення

Спасибі

Відповіді:


53

Виконайте наступне. Він вставить правило вгорі ваших iptables і дозволить увесь трафік, якщо згодом не обробляється іншим правилом.

iptables -I INPUT -j ACCEPT

Ви також можете очистити всі налаштування iptables за допомогою наступного:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Якщо ви змиєте його, ви можете запустити щось на кшталт:

iptables -A INPUT -i lo -j ACCEPT -m comment --comment "Allow all loopback traffic"
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT -m comment --comment "Drop all traffic to 127 that doesn't use lo"
iptables -A OUTPUT -j ACCEPT -m comment --comment "Accept all outgoing"
iptables -A INPUT -j ACCEPT -m comment --comment "Accept all incoming"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow all incoming on established connections"
iptables -A INPUT -j REJECT -m comment --comment "Reject all incoming"
iptables -A FORWARD -j REJECT -m comment --comment "Reject all forwarded"

Якщо ви хочете бути трохи безпечнішим для вашого трафіку, не використовуйте правило прийняття всіх вхідних або не видаляйте його за допомогою "iptables -D INPUT -j ACCEPT -m коментар - коментар" Прийняти всі вхідні "", і додайте більше конкретні правила, такі як:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT -m comment --comment "Allow HTTP"
iptables -I INPUT -p tcp --dport 443 -j ACCEPT -m comment --comment "Allow HTTPS"
iptables -I INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT -m comment --comment "Allow SSH"
iptables -I INPUT -p tcp --dport 8071:8079 -j ACCEPT -m comment --comment "Allow torrents"

ПРИМІТКА. Вони повинні бути над двома правилами відхилення внизу, тому використовуйте I, щоб вставити їх у верхній частині. Або якщо ви анальний, як я, використовуйте "iptables -nL --line-numbers" для отримання номерів рядків, а потім використовуйте "iptables-I INPUT ...", щоб вставити правило на певний рядок.

Нарешті, збережіть свою роботу за допомогою:

iptables-save > /etc/network/iptables.rules #Or wherever your iptables.rules file is

1
Ця відповідь нарешті закінчила мій біль. Ця відповідь стосується питання "як я просто змушую # @ $ #% iptables робити те, що я хочу, і тільки те, що я хочу це зробити". Єдине вдосконалення, яке я рекомендував би, - це додавання прикладу переадресації порту. (тобто від 80 до 8080 та 443 до 8443) Я думаю, що 99% питань щодо iptables відповіли б в одному самому дописі.
Ерік Хартфорд

Трохи пізно повертаючись до цього, але ось воно. Перенаправлення трафіку з одного порту на інший: "iptables -A ПЕРЕВ'ЯЗКА -p tcp --dport 80 -j ПОВЕРХНЕНО --to-порти 8080". Досить просто налаштувати його, щоб робити все, що завгодно. Єдина вимога - обидва порти повинні бути відкритими (через записи вище цього твердження.) Насолоджуйтесь!
Алекс Аткінсон

16

щоб прийняти весь вхідний трафік, який ви можете використовувати наступну команду, -P - це встановити політику за замовчуванням як прийняти

iptables -P INPUT ACCEPT  

якщо вам не потрібні ваші попередні правила, просто їх змийте / видаліть, а потім скористайтеся командою вище.
змити всі правила використання

iptables -F    
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.