너무 길어요. Centos 7에서 iptable을 어떻게 보존합니까?
~에 따르면Centos 5 문서서비스가 다시 시작되거나 중지될 때 내 iptables를 보존할 수 있어야 합니다. 내 기억이 맞다면 오래 전 Centos 7에서 이런 일이 있었음을 확인할 수 있습니다.
service iptables save
이제 명령을 수동으로 호출하지 않으면 iptables 변경 사항을 저장할 수 없습니다.
그러나 카운터(예: 사용량)를 저장하고 싶기 때문에 재부팅 후에도 최신 카운터가 유지되도록 해야 합니다.
내 /etc/sysconfig/iptables-config
모습은 다음과 같습니다.
IPTABLES_MODULES=""
IPTABLES_MODULES_UNLOAD="yes"
IPTABLES_SAVE_ON_STOP="yes"
IPTABLES_SAVE_ON_RESTART="yes"
IPTABLES_SAVE_COUNTER="yes"
IPTABLES_STATUS_NUMERIC="yes"
IPTABLES_STATUS_VERBOSE="no"
IPTABLES_STATUS_LINENUMBERS="yes"
나는 사용한다:yum info iptables iptables-services xtables-addons
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.coreix.net
* epel: epel.mirror.wearetriple.com
* extras: mirrors.coreix.net
* updates: mirrors.coreix.net
Installed Packages
Name : iptables
Arch : x86_64
Version : 1.4.21
Release : 18.0.1.el7.centos
Size : 1.5 M
Repo : installed
From repo : base
Summary : Tools for managing Linux kernel packet filtering capabilities
URL : http://www.netfilter.org/
License : GPLv2
Description : The iptables utility controls the network packet filtering code in the
: Linux kernel. If you need to set up firewalls and/or IP masquerading,
: you should install this package.
Name : iptables-services
Arch : x86_64
Version : 1.4.21
Release : 18.0.1.el7.centos
Size : 25 k
Repo : installed
From repo : base
Summary : iptables and ip6tables services for iptables
URL : http://www.netfilter.org/
License : GPLv2
Description : iptables services for IPv4 and IPv6
:
: This package provides the services iptables and ip6tables that have been split
: out of the base package since they are not active by default anymore.
Name : xtables-addons
Arch : x86_64
Version : 2.12
Release : 1.el7.lux
Size : 294 k
Repo : installed
From repo : lux
Summary : Extensions targets and matches for iptables
URL : http://xtables-addons.sourceforge.net
License : GPLv2 and LGPLv2
Description : Xtables-addons provides extra modules for iptables not present in the kernel,
: and is the successor of patch-o-matic. Extensions includes new targets like
: TEE, TARPIT, CHAOS, or modules like geoip, ipset, and account.
:
: This package provides the userspace libraries for iptables to use extensions
: in the xtables-addons-kmod package. You must also install the
: xtables-addons-kmod package.
업데이트 #1:
나는 iptables-config
파일이 매우 엄격하다는 것을 알았습니다. 단일 공백으로 인해 파일이 깨질 수 있으며 잘못된 공백으로 인해 파서가 해당 파일을 완전히 무시하게 된다는 것을 알았습니다. 원본 파일을 다시 설치하여 사용하세요.
이제 내가 직면하고 있는 문제도 비슷합니다. service iptables stop
지금하다구하다. 다시 시작 또는 종료아니요.
업데이트 #2:
첫 번째 문제는 확실히 iptables-config
문서화입니다. iptables 관련 파일을 모두 제거 /etc/sysconfig
하고 다시 설치하면 문제를 빠르게 해결할 수 있습니다.
그런데 iptables가 권한 문제로 저장이 안되는 것 같습니다.
업데이트 #3:
평소에 하던 보안 수준 변경을 놓쳤습니다. 아래 명령은 고급 보안을 비활성화하고 iptables에 저장할 수 있도록 합니다.
setenforce 0
작동 중이에요!
답변1
centos7은 iptables의 프런트 엔드로 방화벽을 사용합니다. 사용 방법을 알아보려면 다음 링크를 클릭하세요.https://www.linode.com/docs/security/firewalls/introduction-to-firewalld-on-centos
답변2
일련의 문제로 인해 iptables가 저장 또는 로드되지 않거나 저장 및 로드된 다음 다른 항목이 로드되지 않는 것으로 나타났습니다.
내 업데이트에 따르면 주요 질문은 다음과 같습니다.
/etc/sysconfig/iptables-config
잘못된 형식
/etc/sysconfig/iptables-config
매우 엄격합니다. 추가 공백으로 인해 명령이 중단되거나 명령이 완전히 무시될 수 있습니다. 패키지를 다시 설치하고 파일을 삭제한 후 편집하여 올바른지 확인했습니다.
즉
service iptables stop
yum -y install iptables iptables-services
rm -rf /etc/sysconfig/ipt*
yum -y reinstall iptables iptables-services
그런 다음 파일을 편집합니다.
nano /etc/sysconfig/iptables-config
- 시행 비활성화(보안 옵션)
SELinux 시행이 활성화되어 있으며 저장이 허용되지 않습니다. "중지" 를 수행하여 이를 확인 service iptables stop
하고 service iptables status -l
. setenforce 0
나는 이것을 해결책으로 권장하지 않습니다. 더 나은 해결책을 찾을 수도 있습니다(보안 동작을 비활성화하는 것은 좋지 않습니다).
영구적으로 비활성화하는 방법:
nano /etc/sysconfig/selinux
그런 다음 지시문 SELinux=enforcing
을 SELinux=disabled
.
답변3
이는 오늘날 CentOS 7.8에서도 여전히 문제입니다. 여기버그 리포트입니다.
SELinux를 비활성화할 수 있지만 이는 좋은 솔루션이 아닙니다.
업스트림 문제가 해결될 때까지 다음 단계를 사용하여 SELinux에 사용자 정의 정책 모듈을 추가할 수 있습니다.
- SELinux를 활성화한 후 iptables를 몇 번 저장하면 향후 명령에 대한 SELinux 로그가 생성됩니다.
# /usr/libexec/iptables/iptables.init save
- ausearch 및 semodule 패키지를 설치합니다:
# yum install audit policycoreutils
- (선택사항) SELinux 오류를 확인합니다.
# ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -i|tail -55
- chmod의 오류를 기반으로 사용자 정의 SELinux 정책 모듈을 생성하고 이를 SELinux로 가져옵니다.
# ausearch -c 'chmod' --raw | audit2allow -M iptables_save_chmod
# semodule -i iptables_save_chmod.pp
인용하다