iptables 재로드


29

/etc/iptables/filter우분투 에서 iptables 구성 파일을 변경 하고 다시로드하고 싶습니다. 맨 페이지를 읽고 Google을 검색했지만 정보를 찾을 수 없습니다. 도움을 주시면 감사하겠습니다.


이 질문을 게시하기 전에 사용중인 Ubuntu 버전에 대한 정보를 제공하거나 웹을 제대로 검색하지 않았습니다.

답변:


28

가장 쉬운 방법은 재부팅하는 것입니다 (아래도 작동하지 않으면 재부팅하십시오. 변경했는지 확인하십시오).

두 번째로 가장 쉬운 방법은 iptables 구성을 사용하여 데몬을 다시 시작하는 것입니다 (google : restart daemon ubuntu).

예 (구성에 따라 다름) :

/etc/init.d/iptables restart  

/etc/init.d/networking restart  

/etc/init.d/firewall restart

5
이름이 /etc/init.d/iptables 인 파일이 없습니다

1
/etc/init.d에 어떤 네트워크 관련이 있습니까? 다시 시작해보십시오.

2
/etc/init.d/networking 재시작?

1
연결이 끊어졌습니다.
더스틴 그레이엄

@DustinGraham 덕분에 깨진 링크가 제거되었습니다.
Juha

37

일반적으로 방화벽 규칙은 구성 파일에 있습니다. /etc/iptables.firewall.rules

파일에 정의 된 규칙을 활성화하려면 규칙을 보내야합니다 iptables-restore(원하는 경우 다른 파일을 사용할 수 있음).

sudo iptables-restore < /etc/iptables.firewall.rules

그리고 다음을 통해 활성화되었는지 확인할 수 있습니다.

sudo iptables -L

컴퓨터를 부팅 할 때마다 동일한 규칙을 활성화하려면이 파일을 작성하십시오.

sudo nano /etc/network/if-pre-up.d/firewall

이 내용으로 :

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

그리고 실행 권한을 부여하십시오.

sudo chmod +x /etc/network/if-pre-up.d/firewall

그것이 당신을 도울 희망 =)

에 대한 예제 파일 /etc/iptables.firewall.rules:

*filter

#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

#  Allow SSH connections
#
#  The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

#  Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

4
우분투 14.10에 나는 전혀 없다 /etc/iptables.firewall.rules하지만 sudo iptables-restore < /etc/iptables/rules.v4나를 위해 일했다.
timbo

4

규칙을 실행 한 경우 규칙이 이미 실행 중이며 다시로드 할 필요가 없습니다. 구성 파일이 있지만 지금까지 가장 좋은 방법으로 실행되지 않은 경우 iptables-apply(iptables 확장자) 를 사용 하는 것입니다.

iptables-apply -t 60 your_rules_file

60 초 동안 (기본적으로 10) 규칙이 적용되고 확인하지 않으면 되돌립니다. 규칙으로 인해 시스템에서 쫓겨 난 경우를 대비해 저장합니다 (예 : ssh를 통해 작동하는 경우).

다음을 대체품으로 사용할 수 있습니다.

iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules

아니요, DDNS 호스트 확인에는 반드시 다시로드가 필요합니다. 참조 된 호스트의 IP가 변경되면 iptables를 다시로드해야합니다. 이상적으로는 cron에서 30 분마다이 작업을 수행합니다. 30 분마다 재부팅하는 것은 편리하지 않습니다.
mckenzm

1

sudo ufw reload

방화벽 및 해당 규칙을 다시로드합니다.


0

인터넷 검색을 조금 마친 후에 이것이 iptables를 다시 시작한 것으로 나타났습니다. . . sudo /etc/init.d/firewall 재시작


3
이름이 /etc/init.d/firewall 인 파일이 없습니다

0

IPtables를 새로 고침하여 변경 사항을 확인하려면; 아래 명령 줄을 사용하여 Apache를 다시 시작할 수도 있습니다.

/etc/init.d/apache2 중지

/etc/init.d/apache2 start

이 명령은 Ubuntu의 풍미 및 이전에 수정되었을 수있는 최종 수정 사항에 따라 달라질 수 있습니다.

이것이 도움이되기를 바랍니다.

피에르

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.