안녕하세요 선생님들
도저히 안되는 원인을 몰라서 도움을 구합니다.
Proxmox로 pfsense, TrueNAS, Ubuntu, window를 가상화 하였습니다.
Pfsense에는 NIC를 하나 달아주고 나머지 가상 환경을 라우팅 해주려고 합니다.
또 ipmi 보안과 내부 네트워크 접속을 위해서 라즈베리파이로 vpn서버를 따로 만들어서 접속하려고 합니다.
서버의 전기가 많이 먹다 보니 밤에는 끄거나 안쓸때는 끄기 위해서 집에서 상시로 사용할 공유기도 따로 있습니다.
대략적인 그림은 아래와 같습니다.
Mikrotik CRS312-4C+8XG로 10G 8포트 sfp+(콤보) 4포트 있습니다.
KT모뎀에 4개의 연결 가능한 포트가 있어서 1개는 공유기, 1개는 미크로틱으로 연결했습니다.
1번 포트는 공유기 LAN에 연결된 포트 입니다.
2번 포트는 KT모뎀과 연결한 공용 IP를 받아오는 포트입니다.
그런데 ISP에서 주는 IP 주소가 다양합니다. KT 인터넷을 사용하다보니 공인 아이피를 주는듯 한데 첫자리가 119 혹은 210 혹은 183 입니다.
whatismyip등 공용 ip 확인하는 웹에 들어가보면 똑같이 나오긴 합니다.
라즈베리파이도 vlan 설정을 해줘서 trunk 포트에 연결해서 공용 ip 받아오고 pfsense에서도 받아옵니다.
현재 인터넷은 전부 접속 가능합니다.
pfsense도, 가상환경도 다 되지만 문제는 외부에서 공용 ip로 접속이 안됩니다.
외부에서 라즈베리파이와 pfsense가 받은 각각의 공용 ip로 접속하려고 ping을 날리면 request time out이 뜹니다.
하지만 pfsense도 인터넷이 잘 됩니다.
라즈베리파이를 물린 4번 포트를 access port로 만들어서 아이피를 받아오면 라즈베리파이의 외부접속은 잘됩니다.아래 셋팅 스크립트 올려드립니다.
조언 부탁드립니다 ㅠㅠ
/interface bridge
add ingress-filtering=no name=bridge vlan-filtering=yes
/interface vlan
add interface=bridge name=vlan10 vlan-id=10
/interface bonding
add mode=802.3ad name=bonding_sfp12 slaves=combo1,combo2 \
transmit-hash-policy=layer-2-and-3
add mode=802.3ad name=bonding_sfp34 slaves=combo3,combo4 \
transmit-hash-policy=layer-2-and-3
/interface list
add name=ISP
add name=Trunk
add name=vlan10_list
add name=vlan20_list
add name=vlan100_list
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/interface bridge port
add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged \
interface=vlan10_list pvid=10
add bridge=bridge frame-types=admit-only-untagged-and-priority-tagged \
interface=vlan20_list pvid=20
add bridge=bridge ingress-filtering=no interface=ISP pvid=100
add bridge=bridge frame-types=admit-only-vlan-tagged interface=Trunk
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/interface bridge vlan
add bridge=bridge tagged=ether3,bonding_sfp34,bridge,ether4 vlan-ids=10
add bridge=bridge tagged=ether3,bonding_sfp34,ether4 vlan-ids=20
add bridge=bridge tagged=ether3,bonding_sfp34,ether4 vlan-ids=100
/interface list member
add interface=ether2 list=ISP
add interface=ether3 list=Trunk
add interface=bonding_sfp34 list=Trunk
add interface=ether1 list=vlan10_list
add interface=ether5 list=vlan10_list
add interface=ether6 list=vlan10_list
add interface=bonding_sfp12 list=vlan10_list
add interface=ether7 list=vlan20_list
add interface=ether8 list=vlan20_list
add interface=ether4 list=Trunk
/ip address
add address=192.168.31.200/24 interface=vlan10 network=192.168.31.0
/system routerboard settings
set boot-os=router-os
vlan 네트워크 끼리 통신 가능해요 ..
ex) pfsense > 인터페이스 > VLAN Gateway 설정 부분 없음으로 설정
게이트웨이 (pfsense) 를 타고는 가능합니다 .
IPv4 업스트림 게이트웨이 > None
라즈베리파이는 pfsense에 물린게 아닌데 외부 접속이 안됩니다..
라즈베리파이, pfsense 모두 각각의 공용 ip를 받습니다.
업스트림 게이트는 None으로 설정해 놓았습니다.
이게 설정이 되어 있으면 애초에 pfsense 아래 있는 가상머신이 인터넷이 안되서 None으로 바꾸니 잘 되었습니다.
pfsense의 설정이 문제가 아니라 mikrotik의 설정 문제로 보입니다 ㅠ
1. 미크로틱 셋팅 문제
미크로틱 셋팅은 잘 된듯 합니다.
위 셋팅에서 좀 더 수정을 했지만 아래 링크 문서를 참고해서 수정 보완했습니다.
미크로틱 vlan 설정 관련해서 아래 예제를 참고하시면 큰 도움이 되실거 같습니다!
https://help.mikrotik.com/docs/display/ROS/Bridge+VLAN+Table
2. raspberry pi 외부 접속 문제
raspberry pi에 vlan 패키지를 설치해서 vlan을 잡는 것은 성공했지만 이상하게 외부에서 접속이 잘 안되었습니다.
내부 관리 터미널로 raspberry pi를 설치했고 wireguard로 vpn 연결을 했지만 trunk port로 하면 잘 되지 안았습니다.
위에 미크로틱 예제의 hybrid port로 설정하고 isp에서 오는 인터넷을 untagged로 받아오니 문제 없이 잘 되었습니다.
wireguard로 내부 네트워크를 연결하는 셋팅(iptable 설정?)을 해주니 vlan으로 데이터를 잘 주고 받는 것을 확인했습니다.(미크로틱으로 트래픽 확인)
3. pfsense 접속 문제
pfsense의 vlan20에 물린 vm에 그림의 vlan10도 잡혀 있었습니다. 드라이버 설치등 편의상의 이유로 vlan10도 잡아놨는데 이게 문제가 되었습니다.
이걸 빼주니 정상적으로 잘 연결되었습니다.
이번 삽질을 1주일 동안 하면서 많은것을 배웠네요..
raspberry pi에 isp를 vlan으로 넣어주면 wireguard가 안되는건 상상도 못했습니다..
다양한 변수 때문에 잘 설정된 미크로틱만 탓했으니 ㅠㅠㅠ
아무튼 많이 배워서 큰 도움이 되었네요 ㅎㅎㅎ
미크로틱은 네트워크 공부하기 좋은 장비 같습니다 ㅎㅎ