нужно правило iptables для принятия всего входящего трафика

34

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

Мой текущий вывод iptables -L -n выглядит так

Цепной INPUT (policy ACCEPT) целевой целевой источник
назначения ACCEPT all - 0.0.0.0/0 0.0.0.0/0
состояние 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 состояние NEW tcp dpt: 22 REJECT all - 0.0.0.0/0 0.0.0.0/0
reject-with icmp-host-запрещено запрещено ПРИНЯТЬ 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 ПРИНЯТЬ tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt: 2124

Цепочка FORWARD (policy ACCEPT) target prot opt ​​источник
назначения REJECT all - 0.0.0.0/0 0.0.0.0/0
reject-with icmp-host- disabled

Цепной ВЫХОД (политика ПРИНЯТЬ) целевой целевой источник
назначения

Благодарность


источник

Ответы:

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 comment --comment« Принять все входящие »» и добавьте еще конкретные правила, такие как:

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 PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080". Это достаточно легко настроить, чтобы делать все, что вы хотите. Единственное требование состоит в том, что оба порта должны быть открыты (через записи выше этого утверждения). Наслаждайтесь!
Алекс Аткинсон
16

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

iptables -P INPUT ACCEPT  

если вам не нужны ваши предыдущие правила, просто очистите / удалите их, а затем используйте команду выше.
сбросить все правила использования

iptables -F    
Gangadhar
источник