와이어가드 사용시 라우팅설정법 정리
컨텐츠 정보
- 1,177 조회
본문
먼저 ip a 명령을 이용해 네트워크 인터페이스의 이름을 확인합니다.
ens18은 실제 장치이고, wg0, wg1은 와이어가드로 만들어둔 가상 장치입니다.
아래 명령에서 wg1과 ens18을 여러분의 상황에 맞게 바꿔서 설정해주시면 됩니다.
iptables -A FORWARD -i wg1 -j ACCEPT;
- wg1 인터페이스로 들어오는 모든 패킷을 FORWARD 체인에서 허용합니다.
iptables -A FORWARD -o wg1 -j ACCEPT;
- wg1 인터페이스로 나가는 모든 패킷을 FORWARD 체인에서 허용합니다
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE;
- ens18 인터페이스로 나가는 패킷에 대해 NAT 테이블의 POSTROUTING 체인에서 IP 마스커레이딩을 수행합니다. 이는 내부 네트워크의 사설 IP 주소를 외부 공인 IP 주소로 변환합니다.
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu;
- TCP SYN 패킷의 MSS(Maximum Segment Size)를 PMTU(Path Maximum Transmission Unit)에 맞게 조정합니다. 이는 VPN 등의 환경에서 패킷 분할 문제를 방지하는 데 도움이 됩니다.
iptables -D FORWARD -i wg1 -j ACCEPT;
- wg1 인터페이스로 들어오는 패킷을 허용하는 FORWARD 체인의 규칙을 삭제합니다
iptables -D FORWARD -o wg1 -j ACCEPT;
- wg1 인터페이스로 나가는 패킷을 허용하는 FORWARD 체인의 규칙을 삭제합니다
iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE;
- ens18 인터페이스에 대한 IP 마스커레이딩 규칙을 NAT 테이블의 POSTROUTING 체인에서 삭제합니다
다른건 기본적으로 다 했던거라 괜찮았는데 그럼에도 불구하고 몇몇 사이트나 카카오톡 같은게 접속이 안되는 문제가 뭔가 했더니 MSS클램핑 문제였습니다.
해당 설정을 해줬더니 마치 물흐르듯이 자연스럽게. 접속이 가능했습니다.
- 결론적으로 MTU가 문제.
프로젝트의 1일차는 와이어가드의 설정을 마무리하는것으로 할까합니다.ㅎ
사용의 편의를 위해 WGDashboard를 쓰고있어서 더 편하게 설정가능합니다.
Pre up
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu;
Post Up
iptables -A FORWARD -i wg1 -j ACCEPT; iptables -A FORWARD -o wg1 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE;
Post Down
iptables -D FORWARD -i wg1 -j ACCEPT; iptables -D FORWARD -o wg1 -j ACCEPT; iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE;
넣어주시면 됩니다.
사실 iptables수정하고 나면 저장안되는거때문에 귀찮은부분이 많은데 이걸로 한방에 해결가능하네요.
서버 실행되고나면 자동으로 명령어를 수행해버리니 한결편합니다.
그럼 마무리
관련자료
-
이전
-
다음









