245 lines
12 KiB
Plaintext
245 lines
12 KiB
Plaintext
오늘
|
|
mikrotik router os에서 초기 셑팅 스크립트를 rsc 파일로 만들어줘
|
|
좋습니다! MikroTik RouterOS에서 초기 설정을 자동화하려면 .rsc 스크립트 파일을 작성해두면 편리합니다. 아래는 기본적인 초기 셋팅 예시 스크립트입니다. 네트워크 환경에 맞게 IP, DNS, 인터페이스 이름 등을 수정해서 사용하시면 됩니다.
|
|
|
|
rsc
|
|
# 기본 초기 설정 스크립트 예시
|
|
|
|
# 호스트네임 설정
|
|
/system identity set name="MyRouter"
|
|
|
|
# 관리자 계정 비밀번호 변경
|
|
/user set [find name=admin] password="StrongPassword123"
|
|
|
|
# WAN 인터페이스 이름 변경 (예: ether1 → WAN)
|
|
/interface ethernet set [find default-name=ether1] name=WAN
|
|
|
|
# LAN 인터페이스 이름 변경 (예: ether2 → LAN)
|
|
/interface ethernet set [find default-name=ether2] name=LAN
|
|
|
|
# LAN IP 주소 설정
|
|
/ip address add address=192.168.88.1/24 interface=LAN
|
|
|
|
# DHCP 서버 설정
|
|
/ip pool add name=dhcp_pool ranges=192.168.88.10-192.168.88.100
|
|
/ip dhcp-server add name=dhcp1 interface=LAN address-pool=dhcp_pool lease-time=1d
|
|
/ip dhcp-server network add address=192.168.88.0/24 gateway=192.168.88.1 dns-server=192.168.88.1
|
|
|
|
# DNS 설정
|
|
/ip dns set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes
|
|
|
|
# NAT 설정 (LAN → WAN 인터넷 공유)
|
|
/ip firewall nat add chain=srcnat out-interface=WAN action=masquerade
|
|
|
|
# 기본 방화벽 규칙 (필요시 추가)
|
|
/ip firewall filter add chain=input connection-state=established,related action=accept
|
|
/ip firewall filter add chain=input connection-state=invalid action=drop
|
|
/ip firewall filter add chain=input in-interface=WAN action=drop
|
|
|
|
# 로그 설정 (필요시)
|
|
/system logging add topics=firewall action=memory
|
|
설명
|
|
호스트네임: 라우터 이름을 지정합니다.
|
|
|
|
관리자 비밀번호: 반드시 강력한 비밀번호로 변경하세요.
|
|
|
|
인터페이스 이름 변경: 관리 편의를 위해 WAN/LAN 이름을 지정합니다.
|
|
|
|
LAN IP/DHCP: 내부 네트워크용 IP와 DHCP 서버를 설정합니다.
|
|
|
|
DNS: 구글(8.8.8.8)과 Cloudflare(1.1.1.1) DNS를 사용하도록 설정했습니다.
|
|
|
|
NAT: LAN → WAN 트래픽을 인터넷으로 공유합니다.
|
|
|
|
방화벽: 기본적인 보안 규칙을 추가했습니다.
|
|
|
|
혹시 이 스크립트를 가정용 공유기 초기 설정 용도로 쓰실 건가요, 아니면 기업/사무실 네트워크 환경에 맞춘 좀 더 복잡한 설정(예: VLAN, VPN, QoS 등)이 필요하신가요?
|
|
|
|
mikrotik router os에서 ether1,ether2,ether3,ether4의 포트가 있고, wireguard를 써서 외부에서 접속하여 내부의 192.168.1.44 ip주소에 접속하기 위해서는 어떻게 설정을 해야하는지 rsc 파일로 작성해줘
|
|
좋습니다! ether1~ether4 포트가 있고, WireGuard를 통해 외부에서 접속하여 내부의 특정 IP(192.168.1.44)에 접근할 수 있도록 하는 기본 .rsc 설정 예시를 작성해드릴게요.
|
|
|
|
아래 스크립트는 ether1을 WAN, ether2~ether4를 LAN으로 가정하고, WireGuard VPN을 설정하여 외부 클라이언트가 접속하면 내부 IP 192.168.1.44로 포트포워딩 되도록 구성한 예시입니다.
|
|
|
|
rsc
|
|
# 호스트네임 설정
|
|
/system identity set name="WG-Router"
|
|
|
|
# 인터페이스 이름 변경
|
|
/interface ethernet set [find default-name=ether1] name=WAN
|
|
/interface ethernet set [find default-name=ether2] name=LAN1
|
|
/interface ethernet set [find default-name=ether3] name=LAN2
|
|
/interface ethernet set [find default-name=ether4] name=LAN3
|
|
|
|
# LAN IP 주소 설정
|
|
/ip address add address=192.168.1.1/24 interface=LAN1
|
|
/ip address add address=192.168.1.1/24 interface=LAN2
|
|
/ip address add address=192.168.1.1/24 interface=LAN3
|
|
|
|
# DHCP 서버 설정 (LAN1 기준)
|
|
/ip pool add name=dhcp_pool ranges=192.168.1.10-192.168.1.100
|
|
/ip dhcp-server add name=dhcp1 interface=LAN1 address-pool=dhcp_pool lease-time=1d
|
|
/ip dhcp-server network add address=192.168.1.0/24 gateway=192.168.1.1 dns-server=192.168.1.1
|
|
|
|
# DNS 설정
|
|
/ip dns set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes
|
|
|
|
# NAT 설정 (LAN → WAN 인터넷 공유)
|
|
/ip firewall nat add chain=srcnat out-interface=WAN action=masquerade
|
|
|
|
# WireGuard 인터페이스 생성
|
|
/interface wireguard add name=wg0 listen-port=51820 private-key="서버프라이빗키"
|
|
|
|
# WireGuard 서버 IP 설정
|
|
/ip address add address=10.10.10.1/24 interface=wg0
|
|
|
|
# WireGuard 피어 추가 (외부 클라이언트)
|
|
# 클라이언트 퍼블릭키와 Allowed Address는 클라이언트 설정에 맞게 수정
|
|
/interface wireguard peers add interface=wg0 public-key="클라이언트퍼블릭키" allowed-address=10.10.10.2/32
|
|
|
|
# 방화벽 규칙 (WireGuard 허용)
|
|
/ip firewall filter add chain=input action=accept protocol=udp dst-port=51820 in-interface=WAN
|
|
|
|
# 내부 특정 IP(192.168.1.44)로 포트포워딩 (예: TCP 3389 원격데스크톱)
|
|
/ip firewall nat add chain=dstnat action=dst-nat protocol=tcp dst-port=3389 in-interface=wg0 to-addresses=192.168.1.44 to-ports=3389
|
|
|
|
# 기본 방화벽 규칙
|
|
/ip firewall filter add chain=input connection-state=established,related action=accept
|
|
/ip firewall filter add chain=input connection-state=invalid action=drop
|
|
/ip firewall filter add chain=input in-interface=WAN action=drop
|
|
핵심 설명
|
|
WireGuard 인터페이스(wg0): VPN 서버 역할을 하며, 외부 클라이언트가 접속합니다.
|
|
|
|
VPN IP 대역(10.10.10.0/24): VPN 전용 네트워크를 구성합니다.
|
|
|
|
포트포워딩 규칙: WireGuard로 들어온 트래픽을 내부 IP 192.168.1.44로 전달합니다.
|
|
|
|
방화벽 규칙: WAN에서 WireGuard 포트(51820/UDP)를 허용하고, 나머지는 차단합니다.
|
|
|
|
👉 질문: 외부에서 접속 시 특정 서비스 포트(예: RDP 3389, 웹서버 80/443)만 열어두실 건가요, 아니면 WireGuard VPN을 통해 전체 내부 네트워크(192.168.1.0/24)에 접근 가능하게 하실 계획인가요?
|
|
|
|
상기조건에서 포트포워딩 말고 라우팅 개념으로 접근해서 rsc파일 작성해 줄래?
|
|
좋습니다! 이번에는 포트포워딩 대신 라우팅 개념으로 WireGuard를 설정하여 외부 클라이언트가 VPN을 통해 내부 네트워크(192.168.1.0/24)에 직접 접근할 수 있도록 하는 .rsc 예시를 작성해드릴게요.
|
|
|
|
즉, 클라이언트가 WireGuard에 연결되면 192.168.1.44 같은 내부 IP에 바로 접근할 수 있습니다.
|
|
|
|
rsc
|
|
# 호스트네임 설정
|
|
/system identity set name="WG-Router"
|
|
|
|
# 인터페이스 이름 변경
|
|
/interface ethernet set [find default-name=ether1] name=WAN
|
|
/interface ethernet set [find default-name=ether2] name=LAN1
|
|
/interface ethernet set [find default-name=ether3] name=LAN2
|
|
/interface ethernet set [find default-name=ether4] name=LAN3
|
|
|
|
# LAN IP 주소 설정
|
|
/ip address add address=192.168.1.1/24 interface=LAN1
|
|
/ip address add address=192.168.1.1/24 interface=LAN2
|
|
/ip address add address=192.168.1.1/24 interface=LAN3
|
|
|
|
# DHCP 서버 설정 (LAN1 기준)
|
|
/ip pool add name=dhcp_pool ranges=192.168.1.10-192.168.1.100
|
|
/ip dhcp-server add name=dhcp1 interface=LAN1 address-pool=dhcp_pool lease-time=1d
|
|
/ip dhcp-server network add address=192.168.1.0/24 gateway=192.168.1.1 dns-server=192.168.1.1
|
|
|
|
# DNS 설정
|
|
/ip dns set servers=8.8.8.8,1.1.1.1 allow-remote-requests=yes
|
|
|
|
# NAT 설정 (LAN → WAN 인터넷 공유)
|
|
/ip firewall nat add chain=srcnat out-interface=WAN action=masquerade
|
|
|
|
# WireGuard 인터페이스 생성
|
|
/interface wireguard add name=wg0 listen-port=51820 private-key="서버프라이빗키"
|
|
|
|
# WireGuard 서버 IP 설정 (VPN 전용 네트워크)
|
|
/ip address add address=10.10.10.1/24 interface=wg0
|
|
|
|
# WireGuard 피어 추가 (외부 클라이언트)
|
|
/interface wireguard peers add interface=wg0 public-key="클라이언트퍼블릭키" allowed-address=10.10.10.2/32
|
|
|
|
# 방화벽 규칙 (WireGuard 허용)
|
|
/ip firewall filter add chain=input action=accept protocol=udp dst-port=51820 in-interface=WAN
|
|
|
|
# 라우팅 설정: VPN 클라이언트가 내부 네트워크(192.168.1.0/24)에 접근 가능하도록
|
|
/ip route add dst-address=192.168.1.0/24 gateway=wg0
|
|
|
|
# 기본 방화벽 규칙
|
|
/ip firewall filter add chain=input connection-state=established,related action=accept
|
|
/ip firewall filter add chain=input connection-state=invalid action=drop
|
|
/ip firewall filter add chain=input in-interface=WAN action=drop
|
|
핵심 설명
|
|
WireGuard 인터페이스(wg0): VPN 서버 역할을 하며, 외부 클라이언트가 접속합니다.
|
|
|
|
VPN 네트워크(10.10.10.0/24): 클라이언트에게 할당되는 IP 대역입니다.
|
|
|
|
라우팅 규칙: 10.10.10.0/24 네트워크에서 들어온 트래픽을 내부 네트워크 192.168.1.0/24로 라우팅합니다. 따라서 클라이언트는 192.168.1.44 같은 내부 IP에 직접 접근 가능합니다.
|
|
|
|
포트포워딩 불필요: VPN 연결 후 내부 네트워크가 그대로 보이므로, 특정 IP/포트에 직접 접근할 수 있습니다.
|
|
|
|
👉 여기서 선택지가 있습니다:
|
|
|
|
클라이언트가 VPN 연결 시 전체 내부 네트워크(192.168.1.0/24)를 접근 가능하게 할지,
|
|
|
|
아니면 특정 IP(192.168.1.44)만 접근 가능하게 제한할지.
|
|
|
|
원하시는 방식에 따라 방화벽 규칙을 조금 더 세밀하게 조정할 수 있습니다.
|
|
혹시 원하시는 게 전체 네트워크 접근인가요, 아니면 192.168.1.44만 접근 허용인가요?
|
|
|
|
라우팅 설정을 해도 내부 네트워크 접속이 안되는데?
|
|
내부 네트워크로 라우팅이 안 되는 경우는 몇 가지 흔한 원인이 있습니다. WireGuard는 단순히 터널 인터페이스를 만들어줄 뿐이고, 실제로 내부 네트워크로 접근하려면 클라이언트와 서버 양쪽 모두 올바른 라우팅과 방화벽 설정이 필요합니다.
|
|
|
|
체크리스트 🔧
|
|
서버 측 라우팅
|
|
|
|
MikroTik에서 192.168.1.0/24 네트워크를 WireGuard 인터페이스(wg0)로 광고해야 합니다.
|
|
|
|
예시:
|
|
|
|
rsc
|
|
/interface wireguard peers set [find public-key="클라이언트퍼블릭키"] allowed-address=10.10.10.2/32,192.168.1.0/24
|
|
→ 이렇게 하면 클라이언트가 VPN을 통해 내부 네트워크로 라우팅할 수 있습니다.
|
|
|
|
클라이언트 측 라우팅
|
|
|
|
클라이언트 WireGuard 설정에서 AllowedIPs = 192.168.1.0/24 를 반드시 지정해야 합니다.
|
|
|
|
그렇지 않으면 클라이언트가 내부 네트워크로 패킷을 보내지 않습니다.
|
|
|
|
방화벽 규칙
|
|
|
|
MikroTik 방화벽에서 wg0 인터페이스에서 들어오는 트래픽이 LAN으로 전달되도록 허용해야 합니다.
|
|
|
|
예시:
|
|
|
|
rsc
|
|
/ip firewall filter add chain=forward action=accept in-interface=wg0 out-interface=LAN1
|
|
/ip firewall filter add chain=forward action=accept in-interface=wg0 out-interface=LAN2
|
|
/ip firewall filter add chain=forward action=accept in-interface=wg0 out-interface=LAN3
|
|
NAT 설정 확인
|
|
|
|
단순 라우팅을 원한다면 NAT 규칙이 wg0 트래픽을 변환하지 않도록 주의해야 합니다.
|
|
|
|
필요하다면 srcnat 규칙에서 wg0를 제외시켜야 합니다:
|
|
|
|
rsc
|
|
/ip firewall nat add chain=srcnat out-interface=WAN action=masquerade
|
|
# wg0 → LAN 트래픽은 NAT 불필요
|
|
수정된 .rsc 예시 (라우팅 기반 접근)
|
|
rsc
|
|
# WireGuard 인터페이스
|
|
/interface wireguard add name=wg0 listen-port=51820 private-key="서버프라이빗키"
|
|
/ip address add address=10.10.10.1/24 interface=wg0
|
|
|
|
# WireGuard 피어 (클라이언트)
|
|
/interface wireguard peers add interface=wg0 public-key="클라이언트퍼블릭키" allowed-address=10.10.10.2/32,192.168.1.0/24
|
|
|
|
# 방화벽 규칙 (VPN → LAN 허용)
|
|
/ip firewall filter add chain=forward action=accept in-interface=wg0 out-interface=LAN1
|
|
/ip firewall filter add chain=forward action=accept in-interface=wg0 out-interface=LAN2
|
|
/ip firewall filter add chain=forward action=accept in-interface=wg0 out-interface=LAN3
|
|
|
|
# WireGuard 포트 허용
|
|
/ip firewall filter add chain=input action=accept protocol=udp dst-port=51820 in-interface=WAN
|
|
👉 핵심은 서버에서 피어 Allowed-Address에 내부 네트워크(192.168.1.0/24)를 포함시키고, 클라이언트 설정에서도 AllowedIPs에 동일하게 지정해야 한다는 점입니다.
|
|
|
|
혹시 클라이언트 쪽 설정 파일(wg0.conf)도 같이 확인해드릴까요? WireGuard는 양쪽 설정이 맞아야 라우팅이 정상 동작합니다. |