@@@ Virtual Machine
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl start firewalld
yum search iptables
yum -y install iptables-services
systemctl enable iptables
systemctl start iptables
systemctl status iptables
방화벽 : 외부의 불법적 접근을 차단하기 위함
구성 Table (3개로 구성)
filter table (기본 table)
nat table
mangle table
Chain (각 table 안에는 chain이 존재)
> input chain에 있는 rule을 지우겠다.
iptable -D INPUT 4 (필터테이블이 기본이므로 -t옵션 안적어도됨.)
> Listing rules
iptables -nL ==line-numbers
iptables -L -t nat
iptables -L -t managle (-t 테이블이름) -- 테이블 지정안하면 필터테이블(기본테이블)
iptables- nL (숫자로 나옴, n옵션없으면 이름으로만 나옴)
> rule 추가 명령어
> 특정 위치에 rule 꼽아 넣기
iptables -I INPUT 42
> 맨 끝에 rule append
iptables -A INPUT
> drop 정책으로 갖고 가겠다.
iptables -P INPUT DROP
> policy DROP 으로 변경됨
iptables -nL ==line-numbers

> 예시
해당 컴퓨터에 DNS서버가 있다면, DNS 서버에 들어오도록 허용 (DNS 는 udp, 목적지 port :53)
iptables -A INPUT -p udp --dport 53 -j ACCEPT

output chain을 통해 잘 나가는데, input chain을 통해 들어오는 것이 룰 차단 되어있어서 그럼
따라서 , 해당 기능을 사용하여 나갔다가 들어오는 것을 상태를 보고 판단하고자 한다.
종류
즉, 데이터가 나갔다가 들어오는 것들에 대해서는 허용하겠다.
-> 맨 윗줄에 기입하여 허용 여부 판단 (=> input chain에 -I옵션을 통해 1번 줄에 룰 설정)
- iptables -I INPUT 1 -m state --state ESTABLISHED,RELATED
- 그후, yum -y install httpd 실행 시 잘 동작함.
- 나갔다가 들어오는 상태 (ESTABLISHED, RELATED)에 대해 모두 허용하는 rule 설정을 했기 때문에
