[networking] centos 7에서 iptables를 어떻게 사용할 수 있습니까? [닫은]

최소한의 구성 (os + dev 도구)으로 CentOS 7을 설치했습니다. httpd서비스를 위해 80 포트를 열려고 하지만 iptables 서비스에 문제가 있습니다 … 무엇이 잘못 되었습니까? 내가 뭘 잘못하고 있죠?

# ifconfig/sbin/service iptables save
bash: ifconfig/sbin/service: No such file or directory


# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

# sudo service iptables status
Redirecting to /bin/systemctl status  iptables.service
iptables.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

# sudo service iptables start
Redirecting to /bin/systemctl start  iptables.service
Failed to issue method call: Unit iptables.service failed to load: No such file or directory.



답변

RHEL 7 / CentOS 7 사용시 방화벽 iptables를 관리하기 위해 이 도입되었습니다. IMHO, 방화벽은 서버 환경보다 워크 스테이션에 더 적합합니다.

보다 고전적인 iptables 설정으로 돌아갈 수 있습니다. 먼저 방화벽 서비스를 중지하고 마스킹하십시오.

systemctl stop firewalld
systemctl mask firewalld

그런 다음 iptables-services 패키지를 설치하십시오.

yum install iptables-services

부팅시 서비스를 활성화하십시오.

systemctl enable iptables

서비스 관리

systemctl [stop|start|restart] iptables

방화벽 규칙 저장은 다음과 같이 수행 할 수 있습니다.

service iptables save

또는

/usr/libexec/iptables/iptables.init save


답변

RHEL 및 CentOS 7은 iptables 대신 firewall-cmd를 사용합니다 . 이런 종류의 명령을 사용해야합니다.

# add ssh port as permanent opened port
firewall-cmd --zone=public --add-port=22/tcp --permanent

그런 다음 규칙을 다시로드하여 모든 것이 정상인지 확인할 수 있습니다.

firewall-cmd --reload

lxc 또는 docker 컨테이너를 사용하려는 경우 iptable-save를 사용하는 것보다 espacially하는 것이 좋습니다. docker 서비스를 시작하면 iptable-save 명령이 프롬프트하는 몇 가지 규칙이 추가됩니다. 결과를 저장하면 저장하지 말아야 할 규칙이 많이 있습니다. 도커 컨테이너는 다음에 다시 부팅 할 때 IP 주소를 변경할 수 있기 때문입니다.

영구 옵션이있는 Firewall-cmd가 더 좋습니다.

“man firewall-cmd”또는 공식 방화벽 문서 확인 를 옵션을 확인하십시오. 영역, 구성, 작동 방식을 확인하는 많은 옵션이 있습니다 … 맨 페이지가 실제로 완료되었습니다.

Centos 7부터 iptables-service를 사용하지 말 것을 강력히 권장합니다


답변

재부팅하면 iptables가 시작되지 않는 문제가있었습니다.

이것은 그것을 고쳤다 :

yum install iptables-services
systemctl mask firewalld
systemctl enable iptables
systemctl enable ip6tables
systemctl stop firewalld
systemctl start iptables
systemctl start ip6tables


답변

다음 명령을 시도하십시오 iptables-save.


답변

/etc/sysconfig/ip6tables-config파일 변경을 수정했습니다 .

IP6TABLES_SAVE_ON_STOP="no"

에:

IP6TABLES_SAVE_ON_STOP="yes"

이:

IP6TABLES_SAVE_ON_RESTART="no"

에:

IP6TABLES_SAVE_ON_RESTART="yes"

이것은 재부팅을 통해 iptables 명령을 사용하여 변경 한 내용을 저장하는 것처럼 보였습니다.


답변

IPtables 구성을 기존 파일에 넣고 부팅 후로드됩니다.

/ etc / sysconfig / iptables


답변

지난 달에 LXC VM 컨테이너에서 iptables를 구성하려고 시도했지만 재부팅 후 iptables 구성이 자동으로로드되지 않았습니다.

내가 작동하게하는 유일한 방법은 다음 명령을 실행하는 것입니다.

yum -y iptables-services를 설치합니다. systemctl 비활성화 방화벽; 방화벽이있는 systemctl 마스크; 서비스 iptables 재시작; 서비스 iptables 저장