# 특정 ip 를 블럭해 disconnection test 를 하려고 한다.
# mac 같은 BSD 계열에서는 iptables 대신
# pfctl (packet filter control)을 사용할 수 있다.
# pfctl 활성
sudo pfctl -e
# pfctl 비활성
sudo pfctl -d
# vi /etc/pf.conf 에 직접 블럭할 ip 를 명시한다.
block drop from any to 10.10.10.2
block drop from any to 10.10.10.3
block drop from any to 10.10.10.4
# 또는 ip 그룹을 테이블로 만들고 다음과 같이 지정할 수도 있다.
table <ysoftmantable> persist { 10.10.10.2, 10.10.10.3, 10.10.10.4}
block drop from any to { <ysoftmantable> }
# pf.conf 로딩
sudo pfctl -f /etc/pf.conf
# 이제 위에 명시된 ip 로 outbound 되는 패킷은 모두 블럭된다.
# ysoftmantable 테이블 상태보기
sudo pfctl -t ysoftmantable -vT show
# ysoftmantable 테이블에 ip 추가
sudo pfctl -t ysoftmantable -T add 10.10.10.10
sudo pfctl -t ysoftmantable -T add 10.10.10.11
# ysoftmantable 테이블에서 ip 제거
sudo pfctl -t ysoftmantable -T delete 10.10.10.11
# 생성한 테이블 모두 지우기(T대문자)
sudo pfctl -F Tables
# nat,info,queue,table ... 등 전체지우기
sudo pfctl -F all
# 참고
man pfctl
man pf.conf