안녕하세요.

 

오늘은  C9800에 Data Interface 2개를 Port Channel로 구성하는 방법에 대해서 알아보겠습니다.


WLC01: Gi3 - MGMT IP vrf MGMT

G1 and G2 -  Portchannel 01로 묶고 Trunk 포트로 모든 VLAN를 허용 하게 설정 하겠습니다.

 

1. WLC GUI에 접속합니다.

 

Gi1/Gi2를 아래와 같이 설정합니다.

 

2. Port-channel를 설정합니다. 

 

SW01(config)#int ra g1/0, gi0/3           
SW01(config-if-range)#channel-group 1 mode on
SW01(config)#int po 1
SW01(config-if)#sw tr en dot1q 
SW01(config-if)#sw mo trunk 

 

Interface Status 확인

SW01#show int status

Port      Name               Status       Vlan       Duplex  Speed Type 
Gi0/0                        connected    trunk        auto   auto unknown
Gi0/1                        connected    trunk        auto   auto unknown
Gi0/2                        connected    100          auto   auto unknown
Gi0/3                        connected    trunk        auto   auto unknown
Gi1/0                        connected    1            auto   auto unknown
Gi1/1                        connected    10           auto   auto unknown
Gi1/2                        connected    20           auto   auto unknown
Gi1/3                        connected    100          auto   auto unknown
Po1                          connected    trunk        auto   auto 
SW01#

 

 

테스트를 위해서 WLC 아래와 같이 설정 합니다.

VLAN 110

VLAN 120
VLAN 130

SVI 110 - 192.168.110.254

SVI 120 - 192.168.120.254

SVI 130 - 192.168.130.254

 

VLAN 110를 설정합니다. 그리고 아래 사진처럼 VLAN 120, VLAN 130도 설정 합니다. 

 

 

2. SVI를 설정 합니다.

 

아래 사진처럼 SVI 120과 SVI 130도 설정 합니다. 

 

 

Cisco switch에서 

VLAN 110,120,130설정하고 SVI 110,120,130를 설정합니다.

SVI 110: 192.168.110.253

SVI 120: 192.168.120.253

SVI 130: 192.168.130.253

 

VLAN 설정

SW01(config)#vlan 110
SW01(config-vlan)#vlan 120
SW01(config-vlan)#vlan 130

SW01#show vlan brie

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Gi1/0
10   VLAN0010                         active    Gi1/1
20   VLAN0020                         active    Gi1/2
30   VLAN0030                         active    
100  VLAN0100                         active    Gi0/2, Gi1/3
110  VLAN0110                         active    
120  VLAN0120                         active    
130  VLAN0130                         active    
1002 fddi-default                     act/unsup 
1003 token-ring-default               act/unsup 
1004 fddinet-default                  act/unsup 
1005 trnet-default                    act/unsup 
SW01#


SVI 설정

SW01(config)#int vlan 110
SW01(config-if)#ip add 192.168.110.253 255.255.255.0
SW01(config-if)#int vlan 120
SW01(config-if)#ip add 192.168.120.253 255.255.255.0
SW01(config-if)#int vlan 130
SW01(config-if)#ip add 192.168.130.253 255.255.255.0
SW01(config-if)#

SW01#show ip int brie
Interface              IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0     unassigned      YES unset  up                    up      
GigabitEthernet0/1     unassigned      YES unset  up                    up      
GigabitEthernet0/2     unassigned      YES unset  up                    up      
GigabitEthernet0/3     unassigned      YES unset  up                    up      
GigabitEthernet1/0     unassigned      YES unset  up                    up      
GigabitEthernet1/1     unassigned      YES unset  up                    up      
GigabitEthernet1/2     unassigned      YES unset  up                    up      
GigabitEthernet1/3     unassigned      YES unset  up                    up      
Port-channel1          unassigned      YES unset  down                  down    
Vlan10                 192.168.10.250  YES NVRAM  administratively down down    
Vlan20                 unassigned      YES unset  administratively down down    
Vlan100                192.168.100.179 YES NVRAM  up                    up      
Vlan110                192.168.110.253 YES manual up                    up      
Vlan120                192.168.120.253 YES manual up                    up      
Vlan130                192.168.130.253 YES manual up                    up  

 

ping test

SW01#ping 192.168.110.254         
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.110.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/3 ms
SW01#ping 192.168.120.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.120.254, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/2/6 ms
SW01#ping 192.168.130.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.130.254, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/2/4 ms
SW01#

 

SW01#show etherchannel summary 
Flags:  D - down        P - bundled in port-channel
        I - stand-alone s - suspended
        H - Hot-standby (LACP only)
        R - Layer3      S - Layer2
        U - in use      N - not in use, no aggregation
        f - failed to allocate aggregator

        M - not in use, minimum links not met
        m - not in use, port not aggregated due to minimum links not met
        u - unsuitable for bundling
        w - waiting to be aggregated
        d - default port

        A - formed by Auto LAG


Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SU)          -        Gi0/3(P)    Gi1/0(P)    

 

지금까지 [C9800CL][#8]- Data Interface Redundancy - Port Channel  글을 읽어주셔서 감사합니다. 

안녕하세요.

 

오늘은 인가된 AP만 WLC에 등록 가능 하게 설정해보겠습니다.

 

사용할 방법은 AP MAC주소를 WLC에 등록해서 허가된 AP MAC만 WLC에 등록 할 수 있습니다.

 

AP IP: DHCP Server로 부터 IP주소를 받아감. 192.168.200.X/24

AP GW: 192.168.200.181

WLC: 192.168.100.182 DHCP option43를 이용함. 

 

1.  Configuration  -> Security -> AAA 클릭 합니다. 

 

2. AAA Advanced -> AP Policy 에서 Authorized AP aginast MAC를 Enable하고 Apply를 클릭 합니다. 

 

*** 만약에 Default값으로 아래 처럼 설정 안되어져 있으면 추가로 설정 합니다. ***

3. 현재 아래처럼 AP한대가 WLC에 등록 되어져 있습니다. 

 

4. AP를 재부팅 합니다.

 

5. 약 5분후 - Monitoring -> Wireless -> AP statistics를 클릭해서 AP가 상태를 확인 합니다.

 

AP가 WLC에게 CAPWAP join request  메시지를 전송하지만 reponse패킷을 받지 못합니다. 

그리고 CAPWAP state: DTLS Teardown이 되고, 다시 CAPWAP join request를 보냅니다. 이 과정을 반복합니다. 

[*12/25/2024 05:57:51.4299] CAPWAP State: Join
[*12/25/2024 05:57:51.6198] Sending Join request to 192.168.100.182 through port 5272, packet size 1376
[*12/25/2024 05:57:56.3783] Sending Join request to 192.168.100.182 through port 5272, packet size 1376
[*12/25/2024 05:58:01.0569] Sending Join request to 192.168.100.182 through port 5272, packet size 896

[*12/25/2024 05:58:48.1321] CAPWAP State: DTLS Teardown
[*12/25/2024 05:58:48.3621] status 'upgrade.sh: Script called with args:[CANCEL]'
[*12/25/2024 05:58:48.4121] do CANCEL, part2 is active part
[*12/25/2024 05:58:48.4320] status 'upgrade.sh: Cleanup tmp files ...'
[*12/25/2024 05:58:53.0506] dtls_queue_first: Nothing to extract!
[*12/25/2024 05:58:53.0506] 
[*12/25/2024 05:58:53.5504] Discovery Response from 192.168.100.182
[*12/25/2024 05:59:04.0000] Started wait dtls timer (60 sec)
[*12/25/2024 05:59:04.0099] 
[*12/25/2024 05:59:04.0099] CAPWAP State: DTLS Setup
[*12/25/2024 05:59:04.1799] First connect to vWLC, accept vWLC by default
[*12/25/2024 05:59:04.1799] 
[*12/25/2024 05:59:04.1799] dtls_verify_server_cert: vWLC is using SSC, returning 1
[*12/25/2024 05:59:04.2599] 
[*12/25/2024 05:59:04.2599] CAPWAP State: Join
[*12/25/2024 05:59:04.4299] Sending Join request to 192.168.100.182 through port 5272, packet size 1376
[*12/25/2024 05:59:09.1284] Sending Join request to 192.168.100.182 through port 5272, packet size 1376

 

6. Monitoring -> Wireless -. AP Statistics에서 Join Statics를 클릭해서 보시면

아래 사진처럼 AP AUth Failure를 확인 할수 있습니다. 

 

아래 AP MAC주소가 WLC 인가된 AP MAC 주소 리스트에 포함되지 않기 떄문에 AP 등록이 실패 하였습니다.

 

7. AP MAC주소를 등록 합니다.

Configuration ->  Security -> AAA -> AAA Advanced -> Device Authentication -> MAC Address -> Add 버튼을 클릭 합니다. 

 

CLI 에서 AP MAC주소 확인 방법

SG-AP01#show interfaces wired 0
wired0    Link encap:Ethernet  HWaddr C8:84:A1:CC:2F:48  
          inet addr: 192.168.200.235  Bcast: 192.168.200.255  Mask: 255.255.255.
0
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          collisions:0 txqueuelen:80 
          Interrupt:2 
          full Duplex, 1000 Mb/s

          5 minute input rate 1268 bits/sec, 1 packets/sec
          5 minute output rate 5067 bits/sec, 1 packets/sec
Wired0 Port Statistics:
RX PKTS    :            1171/8           TX PKTS    :            1171/8         
RX BYTES   :          122210/508         TX BYTES   :          122210/508       
RX DROPS   :               0/0          

 

아래처럼 입력 합니다. 

 

그리고 특정 시간을 기다립니다.

이번에는 아래처럼 Join Reponse 패킷을 WLC로부터 받았습니다. 

[*12/25/2024 06:20:28.8807] CAPWAP State: Discovery
[*12/25/2024 06:20:28.8807] Got WLC address 192.168.100.182 from DHCP.
[*12/25/2024 06:20:29.1006] Discovery Request sent to 192.168.100.182, discovery type STATIC_CONFIG(1)
[*12/25/2024 06:20:29.3005] Discovery Request sent to 255.255.255.255, discovery type UNKNOWN(0)
[*12/25/2024 06:20:29.3005] Discovery Response from 192.168.100.182
[*12/25/2024 06:20:39.0000] Started wait dtls timer (60 sec)
[*12/25/2024 06:20:39.0099] 
[*12/25/2024 06:20:39.0099] CAPWAP State: DTLS Setup
[*12/25/2024 06:20:39.1099] First connect to vWLC, accept vWLC by default
[*12/25/2024 06:20:39.1099] 
[*12/25/2024 06:20:39.1199] dtls_verify_server_cert: vWLC is using SSC, returning 1
[*12/25/2024 06:20:39.1799] 
[*12/25/2024 06:20:39.1799] CAPWAP State: Join
[*12/25/2024 06:20:39.3399] Sending Join request to 192.168.100.182 through port 5272, packet size 1376
[*12/25/2024 06:20:43.9185] Sending Join request to 192.168.100.182 through port 5272, packet size 1376
[*12/25/2024 06:20:44.1484] Join Response from 192.168.100.182, packet size 1397
[*12/25/2024 06:20:44.1484] AC accepted previous sent request with result code: 0
[*12/25/2024 06:20:44.1484] Received wlcType 0, timer 30
[*12/25/2024 06:20:44.2584] nss_capwapmgr_enable_tunnel[1682]:ef30e800: tunnel 0 is already enabled
[*12/25/2024 06:20:44.2783] 
[*12/25/2024 06:20:44.2783] CAPWAP State: Image Data
[*12/25/2024 06:20:44.2883] AP image version 17.13.0.107 backup 17.8.0.144, Controller 17.13.0.107
[*12/25/2024 06:20:44.2883] Version is the same, do not need update.
[*12/25/2024 06:20:44.3583] status 'upgrade.sh: Script called with args:[NO_UPGRADE]'
[*12/25/2024 06:20:44.3983] do NO_UPGRADE, part2 is active part
[*12/25/2024 06:20:44.4183] 
[*12/25/2024 06:20:44.4183] CAPWAP State: Configure
[*12/25/2024 06:20:44.6382] Radio [2] Administrative state DISABLED  change to ENABLED 
[*12/25/2024 06:20:44.6382] Radio [1] Administrative state DISABLED  change to ENABLED 
[*12/25/2024 06:20:44.6382] Radio [0] Administrative state DISABLED  change to ENABLED 
[*12/25/2024 06:20:45.3880] 
[*12/25/2024 06:20:45.3880] CAPWAP State: Run
[*12/25/2024 06:20:45.4680] AP has joined controller WLC01
[*12/25/2024 06:20:45.4680] Flexconnect Switching to Connected Mode!
[*12/25/2024 06:20:46.0678] Previous AP mode is 2, change to 2
[*12/25/2024 06:20:46.0778] Current session mode: ssh, Configured: Telnet-No, SSH-No, Console-Yes
[*12/25/2024 06:20:46.0778] 
[*12/25/2024 06:20:46.3377] Current session mode: telnet, Configured: Telnet-No, SSH-No, Console-Yes
[*12/25/2024 06:20:46.3377] 
[*12/25/2024 06:20:46.3577] Current session mode: console, Configured: Telnet-No, SSH-No, Console-Yes
[*12/25/2024 06:20:46.3577] 
[*12/25/2024 06:20:46.4177] chpasswd: password for user changed
[*12/25/2024 06:20:46.4677] chpasswd: password for user changed
[*12/25/2024 06:20:46.6376] 
[*12/25/2024 06:20:46.6376] Same LSC mode, no action needed
[*12/25/2024 06:20:46.9275] Same value is already set.
[*12/25/2024 06:20:47.2374] USB Device Disconnected from the AP
[*12/25/2024 06:20:47.3974] Got WSA Server config TLVs
[*12/25/2024 06:20:48.7270] Socket: Valid Element: wcp/wcp_db Handler: set_vlan_name_map Data: null Length: 10
[*12/25/2024 06:20:50.4064] SD AVC only supports 802.11ax AP
[*12/25/2024 06:20:50.5664] Re-Tx Count=1, Max Re-Tx Value=5, SendSeqNum=16, NumofPendingMsgs=1
[*12/25/2024 06:20:50.5664] 
[*12/25/2024 06:20:50.8163] DOT11_DRV[0]: Stop Radio0 - Begin
[*12/25/2024 06:20:50.8963] DOT11_DRV[0]: Stop Radio0 - End
[*12/25/2024 06:20:50.8963] DOT11_DRV[0]: Start Radio0 - Begin
[*12/25/2024 06:20:50.8963] DOT11_DRV[0]: Start Radio0 - End
[*12/25/2024 06:20:53.0756]  **** CAC start for 62 seconds for radio 1 ****
[*12/25/2024 06:21:15.6385] netlink socket init done, pnl->spectral_fd=4
[*12/25/2024 06:21:15.6385] CLEANAIR: Slot 0 admin disabled
[*12/25/2024 06:21:16.6382] CLEANAIR: Slot 1 admin disabled
[*12/25/2024 06:21:55.1962] cac_timeout cac expired, chan 5560 curr time 306
[*12/25/2024 06:21:55.1962]  **** CAC stop for radio 1 ****

Username: 
Username: 
% Authentication failed

 

아래 사진처럼 AP가 WLC에 등록 되었습니다. 

 

 

시간이 지나도 AP는 계속 UP상태 입니다. 그 이유는 이미 WLC등록되어기 때문에, 다시 AP Authentication를 확인 하지 않습니다. 

 

AP를 재부팅 합니다. 

재부팅후에는 다시 AP authentication를 시도해야합니다. 하지만 WLC에서 AP MAC주소를 제거 했기 떄문에, 아래처럼 인증 실패로 표시 됩니다. 

 

지금까지 [C9800CL][#7]- AP authentication - AP Mac Filter 글을 읽어주셔서 감사합니다. 

 

안녕하세요. 

 

이번에는 AP hostname를 이용해서 WLC에 policy tag, site tag, rf tag를 할당 하는 방법에 대해서 알아보겠습니다.

 

예제) WLC는 AWS 또는 Azure에서 동작중에 있습니다. 

 

Office는 아래와 같이 3군데가 있습니다.

1. Singpoare office - AP hostname pattern - SG-AP0X

2. Korea office - AP hostname pattern - KR-AP0X

3. Japan office - AP hostname pattern - JP-AP0X

 

AP hostname이 SG-AP0X로 시작하면, policy tag, site tag, rf tag 모두다 SG tag가 AP에 할당 됩니다.

AP hostname이 KR-AP0X로 시작하면, policy tag, site tag, rf tag 모두다 KR tag가 AP에 할당 됩니다.

 

WLC에서 Hostnmae Filter를 이용해서 위와 같이 정책을 사용 할수 있습니다.

 

1. 테스트를 위해서 WLAN를 생성 합니다.

 

WLAN 설정 방법 예제)

 

2. VLAN를 생성합니다.

테스트를 위해서 VLAN은 아래와 같습니다.

VLAN10 - SG-WLAN

VLAN20 - KR-WLAN

VLAN30 - JP-WLAN

 

 

설정 방법 예

 

3. Policy profile를 설정 합니다.

 

 

위와 똑같이 KR-POLICY-PROFILE, JP-POLICY-PROFILE를 생성 합니다.

 

 

4. POLICY TAG를 설정 합니다.

 

 

 

 

똑같이 KR-POLICY-TAG, JP-POLICY-TAG를 생성 합니다.

 

5. SITE-TAG를 설정 합니다.

 

SG-SITE-TAG와 JP-SITE-TAG를 생성 합니다.

 

6. RF-TAG를 설정 합니다.

 

KR-RF-TAG랑 JP-RF-TAG를 생성 합니다.

 

이번에는 실제로 테스트 하기 위해서 Filter를 사용 해서 각 TAG들을 나라별로 적용해보겠습니다.

 

Singapore AP Filter

 

Korea AP Filter 와 Japan AP Filter를 생성 합니다.

 

현재 AP 한대가 WLC에 등록 되어져 있습니다.

 

현재 모두다 default tag를 할당 받았습니다.

 

Test01 - Hostname를 SG-AP01로 변경 하고 TAG를 확인해보겠습니다.

 

하지만 Tag가 변경되지 않습니다. AP를 재부팅해서 새로운 TAG를 적용되게 합니다.

 

 

위에 사진처럼 SG-AP01이기 떄문에 SG policy tag site tag rf tag를 받아왔습니다.

이번에는 AP 이름을 KR-AP01로 변경하고 capwap reset해보겠습니다.

지금까지 [C9800CL][#6]-AP hostname를 이용해서 Tag 할당하기 글을 읽어주셔서 감사합니다.

안녕하세요.

 

오늘은 AP를 DHCP option43를 이용해서 WLC에 등록 하겠습니다.

 

AP IP: 192.168.200.200

AP GW: 192.168.200.181

WLC: 192.168.100.182

 

현재 AP가 SW에 연결되어져 있습니다. cisco SW를 DHCP서버로 동작시켜서 IP/GW/WLC 주소를 할당 하도록 하겠습니다.

 

DHCP option43를 사용 하기 위해서는 16진수 값을 알아야 합니다. 

가장 쉬운 방법이 google에서 dhcp option43 calculaution를 검색하면 여러가지 사이트가 나옵니다.

https://wifiwizardofoz.com/dhcp-option-43-calculator/

 

DHCP Option 43 Calculator

Effortlessly generate DHCP Option 43 values for common wireless vendors. An invaluable tool for network administrators and IT professionals.

wifiwizardofoz.com

 

 

Your DHCP option 43 value is: f104c0a864b6

This is derived using the following formula:

<Type> + <Length> + <Value> where:

Type: Sub-option code 241, used to define a method for Cisco Lightweight APs, represented in hex (f1)

Length: Number of controller IP addresses to be supplied - multiplied by 4, represented in hex (04)

Value: List of Cisco WLC IP addresses, represented in hex(c0a864b6)

 

1. 스위치에서 DHCP 서버를 설정합니다

ip dhcp pool AP-MGMT-POOL
 network 192.168.200.0 255.255.255.0
 dns-server 8.8.8.8
 default-router 192.168.200.181
 option 43 hex f104.c0a8.64b6

 

2. AP에서 IP주소를 확인 합니다

APC884.A1CC.2F48#show ip interface    
  brief  Brief summary of IP status and configuration
APC884.A1CC.2F48#show ip interface brief 
Interface            IP-Address      Method   Status                 Protocol   
Speed      Duplex  
wired0               192.168.200.1   DHCP     up                     up         
1000       full    
wired1               n/a             n/a      administatively down   down       
n/a        n/a     
auxiliary-client     unassigned      unset    up                     up         
n/a        n/a     
wifi0                n/a             n/a      administatively down   down       
n/a        n/a     
wifi1                n/a             n/a      administatively down   down       
n/a        n/a  

 

3. switch에서 IP주소 Binding를 확인 합니다

SW1#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address          Client-ID/              Lease expiration        Type
                    Hardware address/
                    User name
192.168.200.1       01c8.84a1.cc2f.48       Dec 25 2024 11:09 AM    Automatic
SW1#

 

4. 아래처럼 capwap 명령어로도 확인 가능 합니다. 

APC884.A1CC.2F48#show capwap ip 
  config  CAPWAP IP static configuration
APC884.A1CC.2F48#show capwap ip config
IP Address                         : 192.168.200.1
IP netmask                         : 255.255.255.0
Default Gateway                    : 192.168.200.181

 

5. 패킷 상황

[*12/24/2024 10:49:41.9079] pid 4559's new affinity mask: 1
[*12/24/2024 10:49:42.0079] hostapd:failed to open wcp socket
[*12/24/2024 10:49:42.2878] device aptrace0 entered promiscuous mode
[*12/24/2024 10:49:43.0275] pid 4632's current affinity mask: 3
[*12/24/2024 10:49:43.0275] pid 4632's new affinity mask: 1
[*12/24/2024 10:49:43.6273] USB not initialized
[*12/24/2024 10:49:44.0372] chpasswd: password for user changed
[*12/24/2024 10:49:45.0069] ethernet_port wired0, ip 192.168.200.1, netmask 255.255.255.0, gw 192.168.200.181, mtu 1500, bcast 192.168.200.255, dns1 8.8.8.8, vid 0, static_ip_failover false, dhcp_vlan_failover false
[*12/24/2024 10:49:46.0366] Check whether client_ip_table entry need to be cleared 0
[*12/24/2024 10:49:46.0366] Clearing client entry
[*12/24/2024 10:49:46.1366] DOT11_TXP[0]:Domain configured: 1 class:E
[*12/24/2024 10:49:46.3365] DOT11_TXP[0]:Regdb file: /radio_fw/AP1852I_power_table_mapping.txt
[*12/24/2024 10:49:46.3665] DOT11_TXP[1]:Domain configured: 14 class:S
[*12/24/2024 10:49:46.8263] /etc/dnsmasq.host.conf:
[*12/24/2024 10:49:46.8363] no-resolv
[*12/24/2024 10:49:46.8363] pid-file=/var/run/dnsmasq.host.pid
[*12/24/2024 10:49:46.8363] port=53
[*12/24/2024 10:49:46.8363] min-port=61000
[*12/24/2024 10:49:46.8363] server=8.8.8.8
[*12/24/2024 10:49:46.8363] bind-interfaces
[*12/24/2024 10:49:46.8363] interface=lo
[*12/24/2024 10:49:47.1363] DOT11_TXP[1]:Regdb file: /radio_fw/AP1852I_power_table_mapping.txt
[*12/24/2024 10:49:47.4661] DOT11_DRV[1]: vendor_set_slot_capability: slot 1, radio_service_type 0
[*12/24/2024 10:49:47.4661] DOT11_DRV[1]: Init Radio1
[*12/24/2024 10:49:47.4961] DOT11_DRV[1]: set_channel Channel set to 36
[*12/24/2024 10:49:47.5261] DOT11_DRV[0]: vendor_set_slot_capability: slot 0, radio_service_type 0
[*12/24/2024 10:49:47.5261] DOT11_DRV[0]: Init Radio0
[*12/24/2024 10:49:47.5561] DOT11_DRV[0]: set_channel Channel set to 6
[*12/24/2024 10:49:47.9660] DOT11_DRV[0]: set_channel Channel set to 1
[*12/24/2024 10:49:47.9760] DOT11_DRV[0]: Channel set to 1, width 20
[*12/24/2024 10:49:47.9760] DOT11_DRV[0]: Channel set to 1 skipped
[*12/24/2024 10:49:48.3559] DOT11_DRV[0]: Channel set to 1, width 20
[*12/24/2024 10:49:48.3559] DOT11_DRV[0]: Channel set to 1 skipped
[*12/24/2024 10:49:48.4358] DOT11_DRV[1]: set_channel Channel set to 36
[*12/24/2024 10:49:48.4358] DOT11_DRV[1]: Channel set to 36, width 20
[*12/24/2024 10:49:48.4358] DOT11_DRV[1]: Channel set to 36 skipped
[*12/24/2024 10:49:48.5258] DOT11_DRV[1]: Channel set to 36, width 20
[*12/24/2024 10:49:48.5258] DOT11_DRV[1]: Channel set to 36 skipped
[*12/24/2024 10:49:54.5839] pid 4895's current affinity mask: 3
[*12/24/2024 10:49:54.5839] pid 4895's new affinity mask: 1
[*12/24/2024 10:49:55.2737] AP IPv4 Address updated from 0.0.0.0 to 192.168.200.1
[*12/24/2024 10:49:58.9726] dtls_init: Use MIC certificate
[*12/24/2024 10:49:59.2825] 
[*12/24/2024 10:49:59.2825] CAPWAP State: Init
[*12/24/2024 10:50:08.5096] PNP:Server not reachable, Start CAPWAP Discovery
[*12/24/2024 10:50:08.5196] 
[*12/24/2024 10:50:08.5196] CAPWAP State: Discovery
[*12/24/2024 10:50:08.5196] Got WLC address 192.168.100.182 from DHCP.
[*12/24/2024 10:50:08.7295] Discovery Request sent to 192.168.100.182, discovery type DHCP(2)
[*12/24/2024 10:50:08.7795] Discovery Response from 192.168.100.182
[*12/24/2024 10:50:08.9294] Discovery Request sent to 255.255.255.255, discovery type UNKNOWN(0)
[*12/24/2024 10:50:08.9494] 
[*12/24/2024 10:50:08.9494] CAPWAP State: Discovery
[*12/24/2024 11:24:00.0000] Started wait dtls timer (60 sec)
[*12/24/2024 11:24:00.0000] 
[*12/24/2024 11:24:00.0000] CAPWAP State: DTLS Setup
[*12/24/2024 11:24:00.0999] First connect to vWLC, accept vWLC by default
[*12/24/2024 11:24:00.0999] 
[*12/24/2024 11:24:00.1099] dtls_verify_server_cert: vWLC is using SSC, returning 1
[*12/24/2024 11:24:00.1699] 
[*12/24/2024 11:24:00.1699] CAPWAP State: Join
[*12/24/2024 11:24:00.3499] Sending Join request to 192.168.100.182 through port 5248, packet size 1376
[*12/24/2024 11:24:02.5492] 
[*12/24/2024 11:24:02.5492] phy_value=0: org="0x1800" phy_reg="0x1000" 
[*12/24/2024 11:24:02.5592] device wired1 left promiscuous mode
[*12/24/2024 11:24:02.5592] 
[*12/24/2024 11:24:02.5592] Detect link-status changed !!
[*12/24/2024 11:24:02.5592] wired1 ADDED
[*12/24/2024 11:24:04.9185] Sending Join request to 192.168.100.182 through port 5248, packet size 1376
[*12/24/2024 11:24:05.0184] Join Response from 192.168.100.182, packet size 1397
[*12/24/2024 11:24:05.0184] AC accepted previous sent request with result code: 0
[*12/24/2024 11:24:05.0184] Received wlcType 0, timer 30
[*12/24/2024 11:24:05.0684] nss_capwapmgr_enable_tunnel[1682]:c5b68000: tunnel 0 is already enabled
[*12/24/2024 11:24:05.1284] 
[*12/24/2024 11:24:05.1284] CAPWAP State: Image Data
[*12/24/2024 11:24:05.1284] AP image version 17.13.0.107 backup 17.8.0.144, Controller 17.13.0.107
[*12/24/2024 11:24:05.1284] Version is the same, do not need update.
[*12/24/2024 11:24:05.1884] status 'upgrade.sh: Script called with args:[NO_UPGRADE]'
[*12/24/2024 11:24:05.2384] do NO_UPGRADE, part2 is active part
[*12/24/2024 11:24:05.2584] 
[*12/24/2024 11:24:05.2584] CAPWAP State: Configure
[*12/24/2024 11:24:05.2584] Telnet is not supported by AP, should not encode this payload
[*12/24/2024 11:24:05.4683] Radio [2] Administrative state DISABLED  change to ENABLED 
[*12/24/2024 11:24:05.4683] Radio [1] Administrative state DISABLED  change to ENABLED 
[*12/24/2024 11:24:05.4683] Radio [0] Administrative state DISABLED  change to ENABLED 
[*12/24/2024 11:24:05.4783] DOT11_CFG[1]: Starting radio 1
[*12/24/2024 11:24:05.4783] DOT11_DRV[1]: Start Radio1 - Begin
[*12/24/2024 11:24:05.4783] DOT11_DRV[1]: Start Radio1 - End
[*12/24/2024 11:24:05.4783] DOT11_CFG[0]: Starting radio 0
[*12/24/2024 11:24:05.4783] DOT11_DRV[0]: Start Radio0 - Begin
[*12/24/2024 11:24:05.4883] DOT11_DRV[0]: Start Radio0 - End
[*12/24/2024 11:24:05.9681] Radio Authority: no country code
[*12/24/2024 11:24:05.9881] Cannot open CDUMP_COUNT!
[*12/24/2024 11:24:06.1081] 
[*12/24/2024 11:24:06.1081] CAPWAP State: Run
[*12/24/2024 11:24:06.1881] AP has joined controller WLC01
[*12/24/2024 11:24:06.2980] Previous AP mode is 0, change to 2
[*12/24/2024 11:24:06.3080] DOT11_CFG[0] Radio Mode is changed from Local to FlexConnect
[*12/24/2024 11:24:06.3080] DOT11_DRV[0]: Stop Radio0 - Begin
[*12/24/2024 11:24:06.3080] DOT11_DRV[0]: Stop Radio0 - End
[*12/24/2024 11:24:06.3080] DOT11_CFG[0]: Starting radio 0
[*12/24/2024 11:24:06.3080] DOT11_DRV[0]: Start Radio0 - Begin
[*12/24/2024 11:24:06.3080] DOT11_DRV[0]: Start Radio0 - End
[*12/24/2024 11:24:06.3180] DOT11_CFG[1] Radio Mode is changed from Local to FlexConnect
[*12/24/2024 11:24:06.3180] DOT11_DRV[1]: Stop Radio1 - Begin
[*12/24/2024 11:24:06.3280] DOT11_DRV[1]: Stop Radio1 - End
[*12/24/2024 11:24:06.3280] DOT11_CFG[1]: Starting radio 1
[*12/24/2024 11:24:06.3280] DOT11_DRV[1]: Start Radio1 - Begin
[*12/24/2024 11:24:06.3280] DOT11_DRV[1]: Start Radio1 - End
[*12/24/2024 11:24:06.4980] DOT11_DRV[0]: Stop Radio0 - Begin
[*12/24/2024 11:24:06.4980] DOT11_DRV[0]: Stop Radio0 - End
[*12/24/2024 11:24:06.4980] DOT11_DRV[0]: Start Radio0 - Begin
[*12/24/2024 11:24:06.4980] DOT11_DRV[0]: Start Radio0 - End
[*12/24/2024 11:24:06.8778] USB Device Disconnected from the AP
[*12/24/2024 11:24:07.0678] syslog level is being set to 70
[*12/24/2024 11:24:07.0678] 
[*12/24/2024 11:24:07.1078] Previous AP mode is 2, change to 2
[*12/24/2024 11:24:07.1378] Current session mode: ssh, Configured: Telnet-No, SSH-No, Console-Yes
[*12/24/2024 11:24:07.1378] 
[*12/24/2024 11:24:07.3577] Current session mode: telnet, Configured: Telnet-No, SSH-No, Console-Yes
[*12/24/2024 11:24:07.3577] 
[*12/24/2024 11:24:07.3777] Current session mode: console, Configured: Telnet-No, SSH-No, Console-Yes
[*12/24/2024 11:24:07.3777] 
[*12/24/2024 11:24:07.4377] chpasswd: password for user changed
[*12/24/2024 11:24:07.4877] chpasswd: password for user changed
[*12/24/2024 11:24:07.6476] 
[*12/24/2024 11:24:07.6476] Same LSC mode, no action needed
[*12/24/2024 11:24:07.6476] Cannot open CDUMP_COUNT!
[*12/24/2024 11:24:07.9275] Same value is already set.
[*12/24/2024 11:24:08.3674] Got WSA Server config TLVs
[*12/24/2024 11:24:09.5470] Socket: Valid Element: wcp/wcp_db Handler: set_vlan_name_map Data: null Length: 10
[*12/24/2024 11:24:11.2565] SD AVC only supports 802.11ax AP
[*12/24/2024 11:24:11.7963] AP tag  change to default-policy-tag
[*12/24/2024 11:24:32.6698] ip6_port srcr2, ip6local fe80::ca84:a1ff:fecc:2f48, ip6 ::, plen 0, gw6 ::, gw6_mac 00:00:00:00:00:00, mtu 1500, vid 0, mode6 2(slaac)
[*12/24/2024 11:24:34.6392] netlink socket init done, pnl->spectral_fd=4
[*12/24/2024 11:24:34.6392] CLEANAIR: Slot 0 admin disabled
[*12/24/2024 11:24:36.6385] CLEANAIR: Slot 1 admin disabled

 

6. WLC GUI에서 AP 등록 되었는지 확인 합니다.

 

별도 설정이 없으면, AP가 WLC에 붙으면 Policy Tag, Site Tag, RF Tag, Location이 Default로 설정 됩니다. 

 

지금까지 [C9800CL][#5]-AP Join Process - DHCP option 43 글을 읽어주셔서 감사합니다. 

안녕하세요. 

 

오늘은 AP를 직접 IP주소랑 Default Gateway를 설정하고 WLC에 Manuall하게 등록해 보겠습니다. 

 

 

테스트 IP주소 입니다. 

AP IP: 192.168.200.200

AP GW: 192.168.200.181

WLC: 192.168.100.182

 

AP주소를 초기에 설정시 아래와 같이 Username/Passowrd는 Cisco 입니다. 

Username: Cisco
Password: Cisco
APC884.A1CC.2F48>en
Password: Cisco
APC884.A1CC.2F48#

 

1. AP에 IP주소랑 Gateway를 설정 합니다. 

capwap ap ip 192.168.200.200 255.255.255.0 192.168.200.181

 

IP주소를 입력하면 CAPWAP discovery 패킷을 Broadcase를 사용 해서 전송 하고 있습니다.

하지만 AP랑 WLC가 같은 L2도메인 안에 없기 때문에, WLC 찾을수 없습니다. 

[*12/24/2024 10:37:43.9513] Check whether client_ip_table entry need to be cleared 0
[*12/24/2024 10:37:43.9613] Clearing client entry
[*12/24/2024 10:37:46.6105] AP IPv4 Address updated from 0.0.0.0 to 192.168.200.200
[*12/24/2024 10:37:46.6305] send CAPWAP ctrl msg to the socket: Socket operation on non-socket
[*12/24/2024 10:37:46.6305] dtls_init: Use MIC certificate
[*12/24/2024 10:37:46.9404] 
[*12/24/2024 10:37:46.9404] CAPWAP State: Init
[*12/24/2024 10:38:02.6655] PNP:Server not reachable, Start CAPWAP Discovery
[*12/24/2024 10:38:02.6855] 
[*12/24/2024 10:38:02.6855] CAPWAP State: Discovery
[*12/24/2024 10:38:02.8954] Discovery Request sent to 255.255.255.255, discovery type UNKNOWN(0)
[*12/24/2024 10:38:02.9054] 
[*12/24/2024 10:38:02.9054] CAPWAP State: Discovery

 

2. AP Hostname를 변경하고 WLC주소를 입력합니다.

APC884.A1CC.2F48#capwap ap hostname AP01
APC884.A1CC.2F48#capwap ap primary-base WLC01 192.168.100.182

 

아래처럼 WLC가 Discovery Response 패킷을 전송하였습니다. 

그리고 Found Confirued WLC01 이후 DTLS setup 시작 합니다. 

[*12/24/2024 10:40:01.2284] CAPWAP State: Discovery
[*12/24/2024 10:40:01.4283] Discovery Request sent to 192.168.100.182, discovery type STATIC_CONFIG(1)
[*12/24/2024 10:40:01.6383] Discovery Request sent to 192.168.100.182, discovery type STATIC_CONFIG(1)
[*12/24/2024 10:40:01.8382] Discovery Request sent to 255.255.255.255, discovery type UNKNOWN(0)
[*12/24/2024 10:40:01.8482] Discovery Response from 192.168.100.182
[*12/24/2024 10:40:01.8482] Found Configured MWAR 'WLC01' (respIdx 0).
[*12/24/2024 10:41:34.0000] Started wait dtls timer (60 sec)
[*12/24/2024 10:41:34.0000] 
[*12/24/2024 10:41:34.0000] CAPWAP State: DTLS Setup
[*12/24/2024 10:41:34.0399] Invalid event 2 & state 3 combination.
[*12/24/2024 10:41:34.0399] CAPWAP SM handler: Failed to process message type 2 state 3.
[*12/24/2024 10:41:34.0399] Failed to handle capwap control message from controller - status 1
[*12/24/2024 10:41:34.0399] Failed to process unencrypted capwap packet 0x2c1ab000 from 192.168.100.182
[*12/24/2024 10:41:34.0399] Failed to send capwap message 0 to the state machine. Packet already freed.
[*12/24/2024 10:41:34.0999] First connect to vWLC, accept vWLC by default
[*12/24/2024 10:41:34.0999] 
[*12/24/2024 10:41:34.1399] dtls_verify_server_cert: vWLC is using SSC, returning 1
[*12/24/2024 10:41:34.2099] 
[*12/24/2024 10:41:34.2099] CAPWAP State: Join
[*12/24/2024 10:41:34.3699] Sending Join request to 192.168.100.182 through port 5248, packet size 1376
[*12/24/2024 10:41:39.0884] Sending Join request to 192.168.100.182 through port 5248, packet size 1376
[*12/24/2024 10:41:39.1784] Join Response from 192.168.100.182, packet size 1397
[*12/24/2024 10:41:39.1784] AC accepted previous sent request with result code: 0
[*12/24/2024 10:41:39.1784] Received wlcType 0, timer 30
[*12/24/2024 10:41:39.2284] nss_capwapmgr_enable_tunnel[1682]:ef30c000: tunnel 0 is already enabled
[*12/24/2024 10:41:39.3183] 
[*12/24/2024 10:41:39.3183] CAPWAP State: Image Data
[*12/24/2024 10:41:39.3183] AP image version 17.13.0.107 backup 17.8.0.144, Controller 17.13.0.107
[*12/24/2024 10:41:39.3183] Version is the same, do not need update.
[*12/24/2024 10:41:39.3883] status 'upgrade.sh: Script called with args:[NO_UPGRADE]'
[*12/24/2024 10:41:39.4383] do NO_UPGRADE, part2 is active part
[*12/24/2024 10:41:39.4483] 
[*12/24/2024 10:41:39.4483] CAPWAP State: Configure
[*12/24/2024 10:41:39.6682] Radio [2] Administrative state DISABLED  change to ENABLED 
[*12/24/2024 10:41:39.6782] Radio [1] Administrative state DISABLED  change to ENABLED 
[*12/24/2024 10:41:39.6782] Radio [0] Administrative state DISABLED  change to ENABLED 
[*12/24/2024 10:41:39.6782] DOT11_CFG[1]: Starting radio 1
[*12/24/2024 10:41:39.6782] DOT11_DRV[1]: Start Radio1 - Begin
[*12/24/2024 10:41:39.6782] DOT11_DRV[1]: Start Radio1 - End
[*12/24/2024 10:41:39.6782] DOT11_CFG[0]: Starting radio 0
[*12/24/2024 10:41:39.6782] DOT11_DRV[0]: Start Radio0 - Begin
[*12/24/2024 10:41:39.6882] DOT11_DRV[0]: Start Radio0 - End
[*12/24/2024 10:41:40.1481] Radio Authority: no country code
[*12/24/2024 10:41:40.1581] Cannot open CDUMP_COUNT!
[*12/24/2024 10:41:40.2680] 
[*12/24/2024 10:41:40.2680] CAPWAP State: Run
[*12/24/2024 10:41:40.3480] AP has joined controller WLC01
[*12/24/2024 10:41:40.3980] Previous AP mode is 0, change to 2
[*12/24/2024 10:41:40.4080] DOT11_CFG[0] Radio Mode is changed from Local to FlexConnect
[*12/24/2024 10:41:40.4280] DOT11_DRV[0]: Stop Radio0 - Begin
[*12/24/2024 10:41:40.4380] DOT11_DRV[0]: Stop Radio0 - End
[*12/24/2024 10:41:40.4380] DOT11_CFG[0]: Starting radio 0
[*12/24/2024 10:41:40.4380] DOT11_DRV[0]: Start Radio0 - Begin
[*12/24/2024 10:41:40.4380] DOT11_DRV[0]: Start Radio0 - End
[*12/24/2024 10:41:40.4380] DOT11_CFG[1] Radio Mode is changed from Local to FlexConnect
[*12/24/2024 10:41:40.4480] DOT11_DRV[1]: Stop Radio1 - Begin
[*12/24/2024 10:41:40.4480] DOT11_DRV[1]: Stop Radio1 - End
[*12/24/2024 10:41:40.4480] DOT11_CFG[1]: Starting radio 1
[*12/24/2024 10:41:40.4480] DOT11_DRV[1]: Start Radio1 - Begin
[*12/24/2024 10:41:40.4480] DOT11_DRV[1]: Start Radio1 - End
[*12/24/2024 10:41:40.5779] DOT11_DRV[0]: Stop Radio0 - Begin
[*12/24/2024 10:41:40.5779] DOT11_DRV[0]: Stop Radio0 - End
[*12/24/2024 10:41:40.5779] DOT11_DRV[0]: Start Radio0 - Begin
[*12/24/2024 10:41:40.5879] DOT11_DRV[0]: Start Radio0 - End
[*12/24/2024 10:41:41.1178] syslog level is being set to 70
[*12/24/2024 10:41:41.1178] 
[*12/24/2024 10:41:41.1578] Previous AP mode is 2, change to 2
[*12/24/2024 10:41:41.1678] Current session mode: ssh, Configured: Telnet-No, SSH-No, Console-Yes
[*12/24/2024 10:41:41.1678] 
[*12/24/2024 10:41:41.3977] Current session mode: telnet, Configured: Telnet-No, SSH-No, Console-Yes
[*12/24/2024 10:41:41.3977] 
[*12/24/2024 10:41:41.4177] Current session mode: console, Configured: Telnet-No, SSH-No, Console-Yes
[*12/24/2024 10:41:41.4177] 
[*12/24/2024 10:41:41.4777] chpasswd: password for user changed
[*12/24/2024 10:41:41.4977] USB Device Disconnected from the AP
[*12/24/2024 10:41:41.5376] chpasswd: password for user changed
[*12/24/2024 10:41:41.7176] 
[*12/24/2024 10:41:41.7176] Same LSC mode, no action needed
[*12/24/2024 10:41:41.7176] Cannot open CDUMP_COUNT!
[*12/24/2024 10:41:41.8975] Same value is already set.
[*12/24/2024 10:41:42.3374] Got WSA Server config TLVs
[*12/24/2024 10:41:43.6270] Socket: Valid Element: wcp/wcp_db Handler: set_vlan_name_map Data: null Length: 10
[*12/24/2024 10:41:45.3265] SD AVC only supports 802.11ax AP
[*12/24/2024 10:41:45.8563] AP tag  change to default-policy-tag
[*12/24/2024 10:42:08.7391] netlink socket init done, pnl->spectral_fd=4
[*12/24/2024 10:42:08.7391] CLEANAIR: Slot 0 admin disabled
[*12/24/2024 10:42:10.7385] CLEANAIR: Slot 1 admin disabled

AP01#[*12/24/2024 10:42:36.8903] Warning: Stopping dbg_day0_bundle.service, but it can still be activated by:
[*12/24/2024 10:42:36.8903]   dbg_day0_bundle.timer

AP01#

 

3. 이번에는 WLC GUI에 접속해서 AP를 확인해보겠습니다.

Monitoring ->Wireless ->AP statistics 클릭 합니다. 

 

아래 사진처럼 AP01이 WLC에 등록이 되었고 Admin Status를 표시면 초록색으로 정상적입니다. 

 

테스트를 위해서 WLC GUI에서 AP를 Reset 합니다.

 

AP를 더블클릭 합니다. 

 

 

 

지금까지 [C9800CL][#3]-AP Join Process - Manual Method 글을 읽어주셔서 감사합니다.

다음글은 DHCP option43를 이용해서 AP를 WLC에 등록 하는 글을 다루겠습니다.

 

안녕하세요.

 

오늘은 AP가 WLC에 등록할때 AP입장에서 패킷이 어떻게 진행되는지 알아보겠습니다.

 

시스코 공식 홈페이지에 나와 있는지 문서 입니다.

https://www.cisco.com/c/en/us/support/docs/wireless/catalyst-9120axe-access-point/221056-understand-the-ap-join-process-with-the.html

 

Understand the AP Join Process with the Catalyst 9800 WLC

This document describes in detail the AP Join Process with the Cisco Catalyst 9800 WLC.

www.cisco.com

 

만약에 WLC에 다른 지역에 있는 상황이라면
Note
: As per RFC 5415, CAPWAP uses the UDP Ports 5246 (for CAPWAP Control) and 5247 (for CAPWAP Data).

위에 포트는 방화벽에서 허용 되어야 합니다.

 

Session Establishment Process.

  1. Access Point sends a Discovery Request. See the WLC Discovery Methods section for more information on this
  2. WLC sends a Discovery Response
  3. DTLS session establishment. After this, all messages after this are encrypted and are shown as DTLS application data packets in any packet analysis tool.
  4. Access Point sends a Join Request
  5. WLC sends a Join Response
  6. AP performs an image check. If it has the same image version as the WLC, then it proceeds with the next step. If it does not, then it downloads the image from the WLC and reboots to load the new image. In such case, it repeats the process from step 1.
  7. Access Point sends a Configuration Status Request.
  8. WLC sends a Configuration Status Response
  9. Access Point goes to RUN State
  10. During the RUN state, CAPWAP Tunnel Maintenance is pefrormed in two ways:
    1. Keepalives are exchanged to mantain the CAPWAP Data tunnel
    2. AP sends an Echo Request to the WLC, which has to be answered with its respective Echo Response. This is to mantain the CAPWAP Control tunnel.

 

Wireless LAN Controller Discovery Methods

There are several options to let the Access Points know of the existance of one WLC in the network:

  • DHCP Option 43: This option provides the APs the IPv4 address of the WLC to join. This process is convenient for large deployments in which the APs and the WLC are in different sites.
  • DNS Discovery: APs queries the domain name CISCO-CAPWAP-CONTROLLER.localdomain. You must configure your DNS server to resolve either the IPv4 or IPv6 address of the WLC tto join. This option is convenient for deployments in which the WLCs are stored in the same site as the APs.
  • Layer 3 Broadcast: The APs automatically send a broadcast message to 255.255.255.255. Any WLC within the same subnet as the AP is expected to respond to this discovery request.
  • Static configuration: You can use the capwap ap primary-base <wlc-hostname> <wlc-IP-address> command to configure a static entry for a WLC in the AP.
  • Mobility Discovery: If the AP was previously joined to a WLC that was part of a mobility group, the AP also saves a record of the WLCs present in that mobility group.

 

저희는 위에 방식중에 2가지를 테스트 해보겠습니다.

 

1. Static Configuration - AP에서 IP주소랑 Default Gateway를 설정하고 수동으로 WLC IP주소를 입력해서 WLC에 AP를 등록하겠습니다.

 

2. DHCP option 43 - DHCP를 이용해서 AP에 IP주소랑 Default Gateway를 할당하고 WLC주소도 같이 할당하여 AP를 WLC에 등록하겠습니다.

 

테스트는 다음 과정에서 진행 하겠습니다. 

 

안녕하세요.

 

오늘은 Fortigate Explicit Proxy를  UTM기능, SSL deep inspection 같이 사용해보겠습니다.

 

https://itblog-kr.tistory.com/107

 

[Fortigate-#17]- Explicit Proxy

안녕하세요. 오늘은 Fortigate를 Explicit Proxy 설정에 대해서 알아보겠습니다. Forti Proxy 없이 Fortigate를 이용해서 Proxy 구성이 가능 합니다. 하지만 제한적인 기능만 가능합니다.  Explicit Proxy는 User

itblog-kr.tistory.com

 

실습을 하기전에 이전 글을 꼭 확인 부탁드립니다.

 

현재 테스트 가능한 방화벽에서 UTM라이센스를 확인한 결과 아래와 같이 AntiVirus와 Web Filtering를 사용 할수 있습니다. 

 

이 기능만 Enable 하겠습니다. 그리고 대부분에 Traffic이 https로 통신하기 때문에, Fortigate이 SSL를 복호화 해서 패킷을 확인 해야 하기 떄문에 SSL inspection를 deep inspection으로 설정 해야 합니다.

 

1.  Proxy Policy Rule를 더블 클릭 합니다. 

 

2. 아래처럼 설정합니다.

 

3. PC에서 youtube를 접속합니다.

SSL deep inspection를 선택하면 방화벽이 SSL proxy처럼 동작하기 때문에,  certificate issued by 보면 fortigate으로 되어져 있습니다. 

 

이 부분을 해결하기 위해서 Certificate를 설치 합니다. 

4. 방화벽에서 Feature Visibility -> Certificates를 Enable합니다. 

 

System -> Certificates -> Local Certificate -> Fortinet_CA_SSL 를 다운로드 받습니다. 

 

5. Certificate를 PC에 다운로드 하고 설치 합니다. 

 

 

 

 

User PC에서 다시 Youtube를 접속합니다.

 

지금까지 글을 읽어주셔서 감사합니다.

[Fortigate-#18]- Explicit Proxy with UTM function

안녕하세요.

 

오늘은 Fortigate를 Explicit Proxy 설정에 대해서 알아보겠습니다.

 

Forti Proxy 없이 Fortigate를 이용해서 Proxy 구성이 가능 합니다. 

하지만 제한적인 기능만 가능합니다. 

 

Explicit Proxy는 User PC에 Proxy 설정이 되어야지 인터넷 사용이 가능 합니다.

Transperant Proxy는 User PC proxy 설정없이 자동으로 http/https traffic를 redirect to proxy해서 정책 적용 가능 합니다. 

 

지금부터 Fortigate Explicit Proxy 설정에 하겠습니다.

 

FortiGate

WAN: 202.14.X.X

LAN: 192.168.10.181/24

 

PC: 192.168.10.106

GW: 192.168.10.181

 

1. Explicit 기능을 활성화 합니다.

 

2. 실제로 traffic이 fortigate 들어오는 Interface - internal에서 Explicit web proxy를 Enable 합니다.

 

3. Explicit Proxy 설정합니다.

 

4. Proxy Policy 설정합니다. 

 

 

UTM기능을 함깨 사용 할수 있습니다.  보안을 제대로 설정하기 위해서는 SSL inspection를 deep inspection으로 수정하고, Certificate를 PC에 설정한 후에 UTM기능을 사용 하여 보안을 강화 할수 있습니다. 

 

이 부분은 다음장에서 설명 하겠습니다. 

 

5. PC에서 Proxy를 설정합니다. 

 

5-1 open network & Internet setting 

5-2 왼쪽에 proxy를 선택 합니다. 

 

아래처럼 설정 합니다. 

 

PC IP: 192.168.10.106

GW: 192.168.10.181 

Proxy ip: 192.168.10.181

 

Booking.com접속 합니다.

아래 wireshark로 https 패킷을 보면, https 패킷이 Proxy로 전달되는 것을 볼수 있습니다.

 

6. Fortigate에서 Hit count 확인하기

 

Log확인하기

 

Forti View로 확인하기

 

 

지금까지 [Fortigate-#17]- Explicit Proxy 글을 읽어주셔서 감사합니다. 

안녕하세요.

 

이번에는 admin account말고 다른 user account를 생성해서 phpIPAM URL를 접속해보겠습니다. 

 

1. Password Policy를 클릭 합니다. 

 

아래처럼 Password Policy를 수정 하여 규칙이 어긋하면 user account 생성이 불가능 합니다. 

2. Users를 클릭 합니다. 

 

3. Create User를 클릭 합니다. 

 

4. user account를 생성 합니다. 

 

kevin account가 생성 되었습니다.

 

show user를 클릭하면 정보를 확인 할 수 있습니다.

 

 

 

admin계정을 logoff하고 kevin 계정으로 로그인 합니다. 

 

정상적으로 로그인 되었습니다. 

 

지금까지 [phpIPAM][#8]- User 생성 글을 읽어주셔서 감사합니다. 

'IPAM Tools > phpIPAM' 카테고리의 다른 글

[phpIPAM][#8]- IP scan  (0) 2025.01.08
[phpIPAM][#7]- basic administration Setting  (0) 2024.12.22
[phpIPAM][#6]-fping and snmp install for scan  (0) 2024.12.22
[phpIPAM][#5]-phpIPAM install  (1) 2024.12.22
[phpIPAM][#4]-ssh server install  (0) 2024.12.22

안녕하세요.

 

오늘은 phpIPAM에 administration page에 대해서 알아보겠습니다.

 

Site title: KEVIN'S IPPAM 

Pretify links: Yes로 변경 

Default Lanuage: 

Default Theme: 배경을 Black또는 White를 선택 할수 있습니다. 

나머지는 디폴트를 선택 합니다. 

 

Enable FirewallZones

Enable Resolve DNS name

Enable SNMP module

 

나머지는 디폴트로 두고 저장합니다. 

 

kevin@kevin-virtual-machine:/etc/apache2$ cd /bin
kevin@kevin-virtual-machine:/bin$ find fping
fping

kevin@kevin-virtual-machine:/bin$ find ping
ping

 

위에 경로에서 ping과 fping를 찾을수 있습니다. 

 

Title이 KEVIN'S IPPAM 변경되었습니다. 

 

 

'IPAM Tools > phpIPAM' 카테고리의 다른 글

[phpIPAM][#8]- IP scan  (0) 2025.01.08
[phpIPAM][#8]- User 생성  (0) 2024.12.22
[phpIPAM][#6]-fping and snmp install for scan  (0) 2024.12.22
[phpIPAM][#5]-phpIPAM install  (1) 2024.12.22
[phpIPAM][#4]-ssh server install  (0) 2024.12.22

안녕하세요.

 

phpIPAM에서 ip subnet 기반으로 End Device를 scan할수 있습니다.

phpIPAM은 다른 기능으로도 End Device를 scan 할수 있습니다.

 

Discovery scans

1. Ping scan

2. Telent scan

3. SNMP nested subnets scan

4. SNMP ARP scan

5. SNMP MAC address scan

 

관련 기능들을 추가적으로 사용 하기위에서는 fping , snmp등이 설치가 되어야 합니다.

sudo apt-get install fping
sudo apt-get install php-snmp

 

설치 과정 입니다. 

kevin@kevin-virtual-machine:~$ sudo apt-get install fping
[sudo] password for kevin: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  fping
0 upgraded, 1 newly installed, 0 to remove and 3 not upgraded.
Need to get 32,0 kB of archives.
After this operation, 90,1 kB of additional disk space will be used.
Get:1 http://id.archive.ubuntu.com/ubuntu jammy/universe amd64 fping amd64 5.1-1 [32,0 kB]
Fetched 32,0 kB in 0s (201 kB/s) 
Selecting previously unselected package fping.
(Reading database ... 171483 files and directories currently installed.)
Preparing to unpack .../archives/fping_5.1-1_amd64.deb ...
Unpacking fping (5.1-1) ...
Setting up fping (5.1-1) ...
Processing triggers for man-db (2.10.2-1) ...
kevin@kevin-virtual-machine:~$ sudo apt-get install php-snmp
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  php8.1-snmp snmp
The following NEW packages will be installed:
  php-snmp php8.1-snmp snmp
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
Need to get 201 kB of archives.
After this operation, 810 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://id.archive.ubuntu.com/ubuntu jammy-updates/main amd64 php8.1-snmp amd64 8.1.2-1ubuntu2.20 [23,2 kB]
Get:2 http://id.archive.ubuntu.com/ubuntu jammy/main amd64 php-snmp all 2:8.1+92ubuntu1 [1.836 B]
Get:3 http://id.archive.ubuntu.com/ubuntu jammy-updates/main amd64 snmp amd64 5.9.1+dfsg-1ubuntu2.6 [176 kB]
Fetched 201 kB in 0s (689 kB/s)
Selecting previously unselected package php8.1-snmp.
(Reading database ... 171493 files and directories currently installed.)
Preparing to unpack .../php8.1-snmp_8.1.2-1ubuntu2.20_amd64.deb ...
Unpacking php8.1-snmp (8.1.2-1ubuntu2.20) ...
Selecting previously unselected package php-snmp.
Preparing to unpack .../php-snmp_2%3a8.1+92ubuntu1_all.deb ...
Unpacking php-snmp (2:8.1+92ubuntu1) ...
Selecting previously unselected package snmp.
Preparing to unpack .../snmp_5.9.1+dfsg-1ubuntu2.6_amd64.deb ...
Unpacking snmp (5.9.1+dfsg-1ubuntu2.6) ...
Setting up php8.1-snmp (8.1.2-1ubuntu2.20) ...

Creating config file /etc/php/8.1/mods-available/snmp.ini with new version
Setting up snmp (5.9.1+dfsg-1ubuntu2.6) ...
Setting up php-snmp (2:8.1+92ubuntu1) ...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libapache2-mod-php8.1 (8.1.2-1ubuntu2.20) ...
Processing triggers for php8.1-cli (8.1.2-1ubuntu2.20) ...

 

그리고 /etc/apache2/apache2.conf 파일에 수정이 필요합니다.

 

vi /etc/apache2/apache2.conf

 

아래처럼 추가합니다.

<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride all
        order allow,deny
        Allow from all
        #Require all granted
</Directory>

 

apache를 새로 시작 합니다

sudo systemctl restart apache2

 

지금까지 [phpIPAM][#6]-fping and snmp install for scan 글을 읽어주셔서 감사합니다.

'IPAM Tools > phpIPAM' 카테고리의 다른 글

[phpIPAM][#8]- User 생성  (0) 2024.12.22
[phpIPAM][#7]- basic administration Setting  (0) 2024.12.22
[phpIPAM][#5]-phpIPAM install  (1) 2024.12.22
[phpIPAM][#4]-ssh server install  (0) 2024.12.22
[phpIPAM][#3]-Ubuntu update and upgrade  (1) 2024.12.22

안녕하세요.

 

오늘은 phpIPAM를 설치해보겠습니다. 

 

1. PC에서 putty 또는 crt를 사용해서 ubuntu 서버에 접속합니다. 

 

2. 필요한 utility를 설치 합니다. 

sudo apt install curl wget zip git -y

 

3. Apache httpd랑 mysql를 설치 합니다.

 sudo apt install apache2 mariadb-server mariadb-client -y

 

4. PHP Components를 설치 합니다.

sudo apt install php php-curl php-common php-gmp php-mbstring php-gd php-xml php-mysql php-ldap php-pear -y

 

5. MySQL Database를 설치 합니다

sudo su
mysql_secure_installation


 

 Press Enter to login as root - password를 입력 합니다. 
 Type N and press Enter to not switch to unix socket authentication
 Type Y and press Enter to set a root password, type the password twice to confirm
 Type Y and press Enter to remove anonymous users
 Type Y and press Enter to disallow root login remotely
 Type Y and press Enter to remove the test database
 Type Y and press Enter to reload privilege tables

 

아래는 결과값 입니다. 

kevin@kevin-virtual-machine:~$ sudo su
root@kevin-virtual-machine:/home/kevin# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n
 ... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] 
New password: 
Re-enter new password: 
Sorry, passwords do not match.

New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!
root@kevin-virtual-machine:/home/kevin# 

 

6. MySQL Table를 생성합니다.

mysql -u root -p

   CREATE DATABASE php_ipam;
   GRANT ALL ON php_ipam.* to 'php_ipam_rw'@'localhost' IDENTIFIED BY 'P4P1p@m!!';
   FLUSH PRIVILEGES;
   EXIT;
   exit

 

아래는 결과값입니다. 패스워드를 위와 같이 사용 하겠습니다. 

root@kevin-virtual-machine:/home/kevin# 
mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 39
Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>    CREATE DATABASE php_ipam;
Query OK, 1 row affected (0,001 sec)

MariaDB [(none)]>    GRANT ALL ON php_ipam.* to 'php_ipam_rw'@'localhost' IDENTIFIED BY 'P4P1p@m!!';
Query OK, 0 rows affected (0,002 sec)

MariaDB [(none)]>    FLUSH PRIVILEGES;
Query OK, 0 rows affected (0,001 sec)

MariaDB [(none)]>    EXIT;
Bye
root@kevin-virtual-machine:/home/kevin#    exit~
exit~: command not found

 

7. 나머지 설정을 하겠습니다.

 

git를 사용해서 phpipam를 다운로드 받습니다.

sudo git clone https://github.com/phpipam/phpipam.git /var/www/html/phpipam

 

root@kevin-virtual-machine:/home/kevin# sudo git clone https://github.com/phpipam/phpipam.git /var/www/html/phpipam
Cloning into '/var/www/html/phpipam'...
remote: Enumerating objects: 35088, done.
remote: Counting objects: 100% (1427/1427), done.
remote: Compressing objects: 100% (425/425), done.
remote: Total 35088 (delta 1243), reused 1002 (delta 1002), pack-reused 33661 (from 3)
Receiving objects: 100% (35088/35088), 28.16 MiB | 1.12 MiB/s, done.
Resolving deltas: 100% (25403/25403), done.
root@kevin-virtual-machine:/home/kevin#

 

8. /var/www/html/phpipam 폴더에 이동합니다.

cd /var/www/html/phpipam

 

9. 최신버전을 확인합니다.

sudo git checkout "$(git tag --sort=v:tag | tail -n1)"

 

아래는 결과값입니다.

root@kevin-virtual-machine:/var/www/html/phpipam# sudo git checkout "$(git tag --sort=v:tag | tail -n1)"
Note: switching to 'v1.7.3'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 602d8122 Bugfix: PDNS PHP8 compatibility cleanup. Fixes #4337
root@kevin-virtual-machine:/var/www/html/phpipam# 

 

10. phpipam 폴더 onwer를 설정 합니다.

 sudo chown -R www-data:www-data /var/www/html/phpipam

 

11. sample config file를 복사합니다

sudo cp /var/www/html/phpipam/config.dist.php /var/www/html/phpipam/config.php

 

12. config.php 파일을 수정하기 위해서 vim를 설치 합니다

sudo apt-get install vim

 

13. config.php 파일을 수정합니다. 

sudo vim /var/www/html/phpipam/config.php

 

아래처럼 주석처리 하고 새로운 설정값을 생성하고 저장합니다. 

#$db['host'] = '127.0.0.1';
#$db['user'] = 'phpipam';
#$db['pass'] = 'phpipamadmin';
#$db['name'] = 'phpipam';
#$db['port'] = 3306;

         $db['host'] = '127.0.0.1';
         $db['user'] = 'php_ipam_rw';
         $db['pass'] = 'P4P1p@m!!';
         $db['name'] = 'php_ipam';
         $db['port'] = 3306;

         define('BASE', "/phpipam/");

 

 

14. 서비스를 시작 합니다.

sudo a2enmod rewrite
sudo systemctl restart apache2

 

15. 이제 실제로 phpIPAM를 설치 하기 위해서 아래처럼 입력합니다

http://192.168.10.117/phpipam

 

 

 

 

admin페이지 password를 입력합니다.

 

 

 

안녕하세요.

 

이번에는 PC에서 ubuntu server에 SSH로 접속하기 위해서 ubuntu server에 ssh server를 설치 합니다.

 

1. 아래처럼 openssh-server를 설치 합니다. 

sudo apt-get install openssh-server

 

2. SSH Server를 시작 합니다. 

sudo systemctl start ssh

 

3. 서버가 다시 재부팅되더라도 자동으로 SSH 서비스가 시작 될수 있게 설정 합니다. 

sudo systemctl enable ssh

 

 

5. PC에서 CRT또는 PUTTY를 사용해서 ubuntu 서버에 접속을 시도 합니다. 

 

 

 

지금까지 [phpIPAM][#4]-ssh server install 글을 읽어주셔서 감사합니다. 

'IPAM Tools > phpIPAM' 카테고리의 다른 글

[phpIPAM][#6]-fping and snmp install for scan  (0) 2024.12.22
[phpIPAM][#5]-phpIPAM install  (1) 2024.12.22
[phpIPAM][#3]-Ubuntu update and upgrade  (1) 2024.12.22
[phpIPAM][#2]-Ubuntu 22.04.5 install  (0) 2024.12.22
[phpIPAM][#1]-phpIPAM  (0) 2024.12.22

안녕하세요.

 

저번에는 Ubuntu 22.04.05 LTS 버전을 설치 하였습니다.

package가 최신 버전이 아니기때문에, phpIPAM를 설치 하기전에 ubuntu update & upgrade를 합니다. 

 

1. ubuntu 업데이트 합니다. 

 

아래 처럼 입력하면 밑에 사진처럼 업데이트 package를 다운로드 합니다.

sudo apt-get update

 

2, 아래 사진처럼 y를 입력해서 upgrade합니다. 

sudo apt-get upgrade

 

설치가 완료되었습니다. 

 

지금까지 [phpIPAM][#3]-Ubuntu update and upgrade 글을 읽어주셔서 감사합니다. 

'IPAM Tools > phpIPAM' 카테고리의 다른 글

[phpIPAM][#6]-fping and snmp install for scan  (0) 2024.12.22
[phpIPAM][#5]-phpIPAM install  (1) 2024.12.22
[phpIPAM][#4]-ssh server install  (0) 2024.12.22
[phpIPAM][#2]-Ubuntu 22.04.5 install  (0) 2024.12.22
[phpIPAM][#1]-phpIPAM  (0) 2024.12.22

안녕하세요.

 

오늘은 phpIPAM를 위해서 Ubuntu 22.04.5 LTS 버전을 설치 하겠습니다.

 

https://releases.ubuntu.com/jammy/

 

Ubuntu 22.04.5 LTS (Jammy Jellyfish)

Select an image Ubuntu is distributed on three types of images described below. Desktop image The desktop image allows you to try Ubuntu without changing your computer at all, and at your option to install it permanently later. This type of image is what m

releases.ubuntu.com

 

 

Desktop버전 또는 Server 버전을 선택 할수 있습니다.

저는 Desktop 버전을 설치 하겠습니다.

 

위에 링크에서 Ubuntu 22.04.05 LTS desktop버전을 다운로드 받습니다.


VMware ESXi, VMware Workstation, VMware Player 또는 Virtual-Box안에 Ubuntu를 설치 합니다.

 

저는 VMware ESXi에 Ubuntu를 설치 하겠습니다.

 

1. 가상 시스템을 선택 합니다. 그리고 VM생성/목록를 클릭 합니다. 

 

2. 다음을 클릭 합니다. 

 

3. 

이름: 

호환성:

게스트 운영체제 제품군

게스트 운영체제 버전

을 아래 처럼 선택하고 다음을 클릭 합니다. 

 

4. 스토리지를 선택 합니다. 

 

5. CPU랑 메모리 하드시스크 사이즈를 선택하고, IOS선택하고 다음 버튼을 클릭 합니다. 

 

6. 아래 처럼 VM이 생성 되었습니다. VM를 클릭 합니다. 

7. 전원 켜기를 클릭 합니다. 

 

8. try or install Ubuntu를 선택 합니다. 

 

 

9. Install Ubuntu를 선택 합니다. 

 

10. Continue를 선택 합니다.

 

11. Continue를 선택 합니다.

 

12. Install now를 선택 합니다. 

 

13. 나라를 선택하고 Continue를 선택합니다. 

 

14. name이랑 password를 입력하고 continue버튼을 클릭 합니다. 

 

설치가 완료 될때까지 기다립니다. 

 

설치가 완료되었습니다. 재부팅 합니다. 

 

15. 부팅이 완료되면 name를 클릭하고 Password를 입력합니다. 

 

16. IP주소를 입력하기 위해서 network icon를 선택합니다.

 

수정 버튼을 클릭 합니다.


IP주소를 입력합니다. Apply를 클릭 합니다. 

 

17. PC에서 ubuntu로 Ping테스트를 합니다.


지금까지 [phpIPAM][#2]-Ubuntu 22.04.5 install 글을 읽어주셔서 감사합니다. 

 

'IPAM Tools > phpIPAM' 카테고리의 다른 글

[phpIPAM][#6]-fping and snmp install for scan  (0) 2024.12.22
[phpIPAM][#5]-phpIPAM install  (1) 2024.12.22
[phpIPAM][#4]-ssh server install  (0) 2024.12.22
[phpIPAM][#3]-Ubuntu update and upgrade  (1) 2024.12.22
[phpIPAM][#1]-phpIPAM  (0) 2024.12.22

안녕하세요. 

 

오늘은 ipam에 대해서 알아보겠습니다.

ipam이란 IP주소를 효과적으로 관리하기 위해서 사용하는 Tool 입니다. 유료 버전도 있고 무료 버전도 있습니다.

 

1. 여러 사람들이 테스트 망 또는 실망에서 IP주소를 마음데로 설정 함으로 IP중복이 염려 되시는 분.

2. 현재 어떤 서브넷에 어떤 IP가 사용되고 있는지 확인 하고 싶으신분

3. IP주소를 체계적으로 관리를 하고 싶으신분

 

유료 버전

Infoblox IPAM

SolarWinds IP address Manager

 

무료 버전(Open Source 기반) 

phpIPAM

NetBox 

 

저는 회사에서 테스트 VMware ESXi서버, 네트워크 장비를 공유해서 사용 하는데, IP주소를 아무거나 사용 하기 때문에, 

IP중복이 되어서 어떤 사람이 나랑 똑같은 IP주소를 사용 하는지 찾아야 하는 불편함이 있어서 이번에 open source 기반에 phpIPAM를 설치 하게 되었습니다. 

 

NetBox는 지원하는 기능들이 여러가지도 있지만, 저는 IPAM기능만 필요하고 phpIPAM이 NetBox보다 간편하고 쉬운거 같아서 선택 하였습니다.

 

공식 홈페이지는 아래와 같습니다.

https://phpipam.net/

 

phpIPAM IPAM IP address management software

free open-source IP address management application (IPAM)

phpipam.net

 

phpipam is an open-source web IP address management application (IPAM). Its goal is to provide light, modern and useful IP address management. It is php-based application with MySQL database backend, using jQuery libraries, ajax and HTML5/CSS3 features.

 

지원되는 기능은 아래와 같습니다.

 

192.168.10.0/24를 스캔을 하고 아래 처럼 사용중인 IP주소에 Description를 설정해서 관리 가능 합니다. 

 

초록색이 현재 사용중인 IP주소를 표시 됩니다. 192.168.10.0/24 대역중에서 어떤 IP주소가 사용 중인지 확인 가능 합니다. 

 

다음장에서는 phpIPAM를 사용 하기위해서 Ubuntu 리눅스를 설치 하겠습니다. 

안녕하세요.

 

오늘은 FortiGate를 이용해서 SSL VPN Remote Access에 대해서 알아보겠습니다.

 

PC에 Forticlient를 설치해서 FortiGate Firewall에 연결해서 내부 자원을 접속 할 수 있습니다.

 

1. Remote Access User가 사용할 Group를 생성 합니다.

User & Authentication -> User Groups -> Create New

 

REMOTE_USER  그룹이 생성 되었습니다. 


2. Remote Access User가 사용할 계정을 생성 합니다. 

User & Authentication -> User Definition -> Create New

User가 생성 완료되었습니다. 

 

3. SSL VPN Remote Access를 설정 합니다.

Listen on interface: wan1

Listen on Port: 55443

Server Certificate: Fortinet_Factory


IP Rnage를 REMOTE_ACCESS_SUBNET를 생성하고 IP주소는 10.10.10.0/24를 선택합니다.

원하시는 IP주소를 지정하시면 됩니다. 
FortiClient로 FortiGate에 접속하면 10.10.10.0/24 대역에 IP주소를 할당받아서 FortiGate내부 자원에 접속 하게 됩니다. 

 

4. 방화벽을 정책을 설정 합니다.

 

5. 테스트를 진행 합니다.

Remote Access User정보를 입력합니다. 

FortiClient를 다운로드 받고 설치 합니다. 

 

 

 

FortiClient를 실행합니다.

아래와 같이 VPN를 설정 합니다. 

 

FortiClient를 이용해서 FortiGate에 접속을 시도 합니다.

 

연결과 동시에  Internet를 사용 할수 없습니다.

C:\Users\USER>route print

IPv4 경로 테이블
===========================================================================
활성 경로:
네트워크 대상      네트워크 마스크     게이트웨이      인터페이스    메트릭
          0.0.0.0          0.0.0.0     192.168.68.1   192.168.68.108     35
          0.0.0.0          0.0.0.0   10.212.134.201   10.212.134.200      1

 

모든 트래픽이 다 VPN를 향하고 있습니다. 포티넷에서 Remote Access VPN User가 인터넷을 나가는 방화벽 정책이 없어서 인터넷 사용이 불가능 합니다.

 

인터넷은 자체 인터넷을 사용하고 FortiGate내부에 있는 자원에 네트워크 대해서만 VPN통해서 접속하고 싶습니다.

 

Splite Tunnel를 설정합니다.

 

Full-access portal에 설정값을 확인 합니다. 

 

 

방화벽 정책에 목적지 주소를 확인하여 그 주소에 대해서만 Split Tunnel이 적용 된다고 합니다. 

 

아래 Destination를 Any가 아니라 FortiGate 내부안에 서브넷을 설정 합니다. 

 

그리고 FortiClient를 다시 접속합니다. 

PC에 라우팅 테이블 확인

IPv4 경로 테이블
===========================================================================
활성 경로:
네트워크 대상      네트워크 마스크     게이트웨이      인터페이스    메트릭
          0.0.0.0          0.0.0.0     192.168.68.1   192.168.68.108     35         ------> 인터넷은 로컬 인터넷 
   10.212.134.200  255.255.255.255             연결됨    10.212.134.200    257
        127.0.0.0        255.0.0.0             연결됨         127.0.0.1    331
        127.0.0.1  255.255.255.255             연결됨         127.0.0.1    331
  127.255.255.255  255.255.255.255             연결됨         127.0.0.1    331
     192.168.10.0    255.255.255.0   10.212.134.201   10.212.134.200      1  -----> VPN 
     192.168.40.0    255.255.255.0             연결됨      192.168.40.1    291
     192.168.40.1  255.255.255.255             연결됨      192.168.40.1    291
   192.168.40.255  255.255.255.255             연결됨      192.168.40.1    291
     192.168.68.0    255.255.255.0             연결됨    192.168.68.108    291
     192.168.68.1  255.255.255.255             연결됨    192.168.68.108     35
   192.168.68.108  255.255.255.255             연결됨    192.168.68.108    291
   192.168.68.255  255.255.255.255             연결됨    192.168.68.108    291
    192.168.253.0    255.255.255.0             연결됨     192.168.253.1    291
    192.168.253.1  255.255.255.255             연결됨     192.168.253.1    291
  192.168.253.255  255.255.255.255             연결됨     192.168.253.1    291
    202.14.11.198  255.255.255.255     192.168.68.1   192.168.68.108     35
        224.0.0.0        240.0.0.0             연결됨         127.0.0.1    331
        224.0.0.0        240.0.0.0             연결됨     192.168.253.1    291
        224.0.0.0        240.0.0.0             연결됨      192.168.40.1    291
        224.0.0.0        240.0.0.0             연결됨    192.168.68.108    291
        224.0.0.0        240.0.0.0             연결됨    10.212.134.200    257
  255.255.255.255  255.255.255.255             연결됨         127.0.0.1    331
  255.255.255.255  255.255.255.255             연결됨     192.168.253.1    291
  255.255.255.255  255.255.255.255             연결됨      192.168.40.1    291
  255.255.255.255  255.255.255.255             연결됨    192.168.68.108    291
  255.255.255.255  255.255.255.255             연결됨    10.212.134.200    257
===========================================================================

 

인터넷은 로컬인터넷, 그리고 FortiGate 내부 자원은 VPN을 이용해서 접속 가능 합니다. 

 

지금까지 글을 읽어주셔서 감사합니다. 

안녕하세요.

 

이번에는 Fortigate 61E 7.0.9에서 7.2.10로 업그레이드 하는 방법에 대해서 알아보겠습니다.

꼭 업그레이드를 Fortigate 홈페이지에서 제공하는 Upgrade Path를 따라서 Firmware 업그레이드 하시길 바랍니다.

 

https://docs.fortinet.com/upgrade-tool/fortigate

 

Fortinet Document Library | Upgrade Path Tool

Product Model FFW_1801F FFW_2600F FFW_3001F FFW_3501F FFW_3980E FFW_4200F FFW_4400F FFW_4401F FFW_4801F FFW_VM64 FFW_VM64_KVM FortiGate-30D FortiGate-30E FortiGate-30E-MG FortiGate-30E-MI FortiGate-30E-MN FortiGate-30D-POE FortiGate-40F FortiGate-50E Forti

docs.fortinet.com

 

1. 7.2.4F firmware를 다운로드 받습니다. 

System -> Firmware -> File Upload 에서 7.2.4F를 선택합니다.

 

2. Upgrade를 다하고 로그인합니다. 그리고 Firmware Version를 확인합니다.

 

3. 이번에는 7.2.6 F Firmware를 다운로드 받고 업그레이드를 합니다. 

 

콘솔포트에 콘솔을 연결하면 아래처럼 진행 상황을 볼수 있습니다. 


FortiGate-61E login:

Firmware upgrade in progress ...
Done.


The system is going down NOW !!


 

 

 

4. 이번에는 7.2.8 M Firmware를 다운로드 받고 업그레이드를 합니다. 

 

 

5. 이번에는 7.2.10 M Firmware를 다운로드 받고 업그레이드를 합니다.

 

 

Upgrade Path를 참고하지 않고 원하는 Firmware를 Upgrade할 경우, 제대로 부팅이 되지 않습니다.

지금까지 글을 앍어주셔서 감사합니다. 

안녕하세요. 

 

이번에는 fortigate firewall를 upgrade path를 지키지 않고 업그레이드 했을 경우에 제대로 부팅이 되지 않는 경우가 있습니다.

 

예를 들어서, 현재 버전은 7.0.9 입니다. 저는 7.2.9로 업그레이드 하고 싶습니다. 

 

https://docs.fortinet.com/upgrade-tool/fortigate

 

Fortinet Document Library | Upgrade Path Tool

Product Model FFW_1801F FFW_2600F FFW_3001F FFW_3501F FFW_3980E FFW_4200F FFW_4400F FFW_4401F FFW_4801F FFW_VM64 FFW_VM64_KVM FortiGate-30D FortiGate-30E FortiGate-30E-MG FortiGate-30E-MI FortiGate-30E-MN FortiGate-30D-POE FortiGate-40F FortiGate-50E Forti

docs.fortinet.com

 

위에처럼 업그레이드를 진행해야 합니다.

 

만약에 위에 과정대로 업그레이드하지 않으면 방화벽이 제대로 부팅이 되지 않습니다.

FortiGate-61E (19:30-06.08.2016)
Ver:05000009
Serial number: FGT61E4Q16000833
CPU: 1000MHz
Total RAM: 2 GB
Initializing boot device...
Initializing MAC... nplite#0
Please wait for OS to boot, or press any key to display configuration menu......

Booting OS...
Reading boot image... 2961901 bytes.
Initializing firewall...
failed verification on /data/datafs.tar.gz
fos_ima: System Integrity check failed...
CPU2: stopping
CPU1: stopping
CPU0: stopping

 

방화벽을 재부팅해도 위와 같은 똑같은 증상입니다.

 

해결방법, 이전 방화벽 Firmware를 불러오게 설정하면 됩니다.

 

Please wait for OS to boot, or press any key to display configuration menu..

이 부분에서 아무 키가 누릅니다.

그리고 

B: boot with backup firmware and set as default 를 선택합니다.

부팅이 정상적으로 완료 되고 FortiGate-61E 로그인창을 볼수 있습니다. 


FortiGate-61E (19:30-06.08.2016)
Ver:05000009
Serial number: FGT61E4Q16000833
CPU: 1000MHz
Total RAM: 2 GB
Initializing boot device...
Initializing MAC... nplite#0
Please wait for OS to boot, or press any key to display configuration menu..

[C]: Configure TFTP parameters.
[R]: Review TFTP parameters.
[T]: Initiate TFTP firmware transfer.
[F]: Format boot device.
[I]: System information.
[B]: Boot with backup firmware and set as default.
[Q]: Quit menu and continue to boot.
[H]: Display this list of options.

Enter C,R,T,F,I,B,Q,or H:

Loading backup firmware from boot device...


Booting OS...
.Reading boot image... 2900424 bytes.
Initializing firewall...

System is starting...
Starting system maintenance...
Scanning /dev/mmcblk0p2... (100%)
Scanning /dev/mmcblk0p3... (100%)
The config file may contain errors,
Please see details by the command 'diagnose debug config-error-log read'


FortiGate-61E login:

 

지금까지 글을 읽어주셔서 감사합니다. 

 

Fortigate 공식 홈페이지 KB

https://community.fortinet.com/t5/FortiGate/Technical-Tip-Boot-the-backup-firmware-and-config-via-console/ta-p/317013

 

안녕하세요.

 

이번에는 Fortigate Passowrd Recovery에 대해서 알아보겠습니다.

 

1. 콘솔 케이블을 fortigate방화벽에 연결하고 부팅합니다.

2. 10초안에 정보를 입력해야지 로그인 가능 합니다.

username: maintainer

password: bcpb+serial number - bcpbFGT61E4QXXXXXXXX

 

serial 정보는 부팅할때  serial number를 확인 가능하고 또는 장비에서 뒷면에서 시리얼번호를 확인 가능 합니다. 

FortiGate-61E (19:30-06.08.2016)
Ver:05000009
Serial number: FGT61E4QXXXXXX
CPU: 1000MHz
Total RAM: 2 GB
Initializing boot device...
Initializing MAC... nplite#0
Please wait for OS to boot, or press any key to display configuration menu......

Booting OS...
Reading boot image... 2939563 bytes.
Initializing firewall...

System is starting...
Starting system maintenance...
Scanning /dev/mmcblk0p1... (100%)
Scanning /dev/mmcblk0p3... (100%)


FW1 login: maintainer
maintainer
Password: ********************   -----> bcpb+serial number - bcpbFGT61E4QXXXXXXXX
Welcome !

WARNING: File System Check Recommended! Unsafe reboot may have caused inconsistency in disk drive.
It is strongly recommended that you check file system consistency before proceeding.
Please run 'execute disk scan 259'
Note: The device will reboot and scan during startup. This may take up to an hour

 

3. 패스워드를 변경합니다. 그리고 변경된 패스워드로 로그인 합니다. 

MitsubishiFW1 # config system admin

MitsubishiFW1 (admin) # edit admin

MitsubishiFW1 (admin) # set password XXXXXXXXXX

MitsubishiFW1 (admin) # end

MitsubishiFW1 (global) # exit


MitsubishiFW1 login: admin
Password: *************
Welcome !

WARNING: File System Check Recommended! Unsafe reboot may have caused inconsistency in disk drive.
It is strongly recommended that you check file system consistency before proceeding.
Please run 'execute disk scan 259'
Note: The device will reboot and scan during startup. This may take up to an hour
FW1 #

 

지금까지 fortigate 방화벽 Password Recovery에 대해서 알아보았습니다.

 

안녕하세요. 

 

오늘은 PaloAlto Global Protect cisco DUO PROXY redundancy에 대해서 알아보겠습니다.

 

https://itblog-kr.tistory.com/93

 

[PaloAlto FW-#11]- Global Protect(Remote User) with 2FA cisco duo

안녕하세요.  이번에는 PaloAlto Global Protect에서 2FA를 사용해보겠습니다. 2FA은 CISCO DUO입니다. okta도 가능 합니다. Windows Server 설치 아래를 참고 부탁드립니다. https://itblog-kr.tistory.com/66 VM생성/등

itblog-kr.tistory.com

 

Server01: Active Directory, DNS, Cisco DUO Proxy

Server02: Active Directory, DNS, cisco DUO proxy 

 

Portal authentication - LDAP -  Server 01, Server01 죽으면 Server02

Gateway Authentication - DUO Proxy 2FA - Server 01, Server 01 죽으면 server02

 

Cisco DUO Proxy Server01 설정

[ad_client]
host=192.168.10.224
service_account_username=administrator
service_account_password=XXXX
search_dn=DC=mylab,DC=local
timeout=2

[radius_server_auto]
ikey= DUO CLOYD에서 COPY 
skey= DUO CLOYD에서 COPY 
api_host= DUO CLOYD에서 COPY 
radius_ip_1=192.168.10.93
radius_secret_1=XXXXX
failmode=safe
client=ad_client
port=1812

 

Cisco DUO Proxy Server02 설정

[ad_client]
host=192.168.10.225
service_account_username=administrator
service_account_password=XXXX
search_dn=DC=mylab,DC=local
timeout=2

[radius_server_auto]
ikey= DUO CLOYD에서 COPY 
skey= DUO CLOYD에서 COPY 
api_host= DUO CLOYD에서 COPY 
radius_ip_1=192.168.10.93
radius_secret_1= XXXXX
failmode=safe
client=ad_client
port=1812

 

1. PALOALTO Radius 설정

 

2. Authentication Profile 설정

 

3. Authentication Sequence 설정

 

4. GP Portal Authentication Protal 설정

 

LDAP01 우선순위 죽으면 LDAP02

 

5. GP Gateway authentication 설정

 

Commit를 누르고 테스트를 진행합니다.

 

GP 연결 테스트 

 

 



Server01 NIC를 Disable 하고 테스트를 합니다.

 

지금까지 글을 읽어주셔서 감사합니다.

안녕하세요. 

 

이번에는 PaloAlto Global Protect에서 2FA를 사용해보겠습니다. 2FA은 CISCO DUO입니다. okta도 가능 합니다.

 

Windows Server 설치 아래를 참고 부탁드립니다. 

https://itblog-kr.tistory.com/66

 

[Win2019 Server][#1] - Windows Server 2019 Installation

안녕하세요.  오늘은 VMware Esxi에 Windows Server 2019 trial version를 설치 해서 공부 해보곘습니다.  1. VMware Esxi를 접속 합니다. 가상시스템을 클릭 -> VM생성/등록을 선택 합니다. 2. 다음을 클릭 합니

itblog-kr.tistory.com

Active Directory 설정은 아래를 참고 부탁드립니다. 

https://itblog-kr.tistory.com/68

 

[Win2019 Server][#3] - Active Directory Installation

안녕하세요. 이번에는 Windows Server 2019에서 Active Directory를 설치해보겠습니다.  1. Server Manager를 클릭 합니다. 2. Local Server -> Ethernet0를 선택합니다. 서버는 IP주소가 DHCP가 아닌 Static으로 설정 되

itblog-kr.tistory.com

PaloAlto Global Protect 설정은 아래를 참고 부탁드립니다.

https://itblog-kr.tistory.com/89

 

[PaloAlto FW-#7]- Global Protect(Remote User)

안녕하세요. 이번에는 PaloAlto에서 Global Protect(remote user) 설정에 대해서 알아보겠습니다. 토폴로지는 아래와 같습니다. E1/1을 global protect를 설정 하고 팔로알토 로컬 유저를 통해서 인증을 시도

itblog-kr.tistory.com

 

https://itblog-kr.tistory.com/90

 

[PaloAlto FW-#8]- Global Protect(Remote User) with different port

안녕하세요. 오늘은 PaloAlto에서 Global Protect(Remote User) 설정하는데 디폴트 포트443이 아닌 다른 포트로 Global Protect를 설정하는 방법에 대해서 알아보겠습니다. 토폴로지는 아래와 같습니다.  MGMT

itblog-kr.tistory.com

 

 

1. Cisco DUO Cloud 계정을 생성합니다. 10 Users까지는 무료로 사용 가능합니다.

   Windows Server는 최소 2016이어야 합니다.

   Cisco DUO Cloud 

 

https://duo.com/

 

Identity Security, MFA & SSO

Protect your workforce with Cisco Duo’s industry leading suite of identity security solutions, Single Sign-On (SSO), and Multi-Factor Authentication (MFA).

duo.com

 

계정 생성하는 방법에 대해서는 생략 하겠습니다.

 

2. 로그인 합니다. 

 

3. Applications -> Protect an application 

paloalto를 Search하고 Protect버튼을 클릭합니다.

 

4.  PaloAlto Documentation를 클릭합니다.

 

Detail에 Integration key와 Secret Key 그리고 API hostname은 나중에 설명하겠습니다.

 

5. 윈도우 서버에서 아래 duo proxy프로그램을 다운로드 받고 설치 합니다. 

 

6. Cisco Duo authentication proxy manager를 실행합니다.

 

아래처럼 수정 합니다.

[ad_client]
host=192.168.10.224
service_account_username=administrator
service_account_password=XXXX
search_dn=DC=mylab,DC=local
timeout=2

[radius_server_auto]
ikey= DUO CLOYD에서 COPY 
skey= DUO CLOYD에서 COPY 
api_host= DUO CLOYD에서 COPY 
radius_ip_1=192.168.10.93
radius_secret_1= XXXXX
failmode=safe
client=ad_client
port=1812

 

설정값을 저장하고, Restart를 실행합니다. 

 

7. DUO Cloud 유저를 생성합니다.

AD에서 주기적으로 DUO CLOUD에 동기화 할수 있고 Manual하게 User를 설정 할 수도 있습니다.

 

휴대폰 정보를 입력합니다. 

 

그리고 Cisco DUO 프로그램을 아이폰에서 다운로드 합니다. 

그리고 휴대폰을 cisco DUO cloud에 등록 시킵니다. 

 

휴대폰을 cisco DUO cloud에 정식적으로 등록하지 않으면 cisco DUO를 아이폰에서 실행해도 아무것도 보이지 않습니다.

 

등록해야지 아래처럼 정보값이 보입니다. 

 

8. PaloAlto 에서 설정해보겠습니다.

 

Portal 인증은 AD01과 AD02를 통해서 인증 하도록 하겠습니다

Gateway은 Cisco DUO Proxy를 통해서 휴대폰 push notification을 이용해서 인증해보겠습니다.

 

Portal Authetication 설정값입니다. 

 

9. Radius를 설정합니다.

 

10. Authentication Profile를 생성합니다.

 

11. Portal authentication 설정은 LADP을 통해서 인증합니다

 

12. Gateway를 설정합니다.

 

13. Commit하고 테스트를 진행 합니다.

 

 

Approve버튼을 클릭하면 아래처럼 GP가 연결이 완료 되었습니다.

 

지금까지 PaloAlto Global Protect -2FA에 대해서 알아보았습니다. 

글을 읽어주셔서 감사합니다.

 

안녕하세요. 

 

이번에는 Active Directory 01 과 Active Directory 02를 설치 하고 PaloAlto 에서 Global Protect(Remote User) AD01, AD02 이중화 설정 하겠습니다.

 

PaloAlto입장에서는 AD01이 죽으면 AD02로 연결되게 설정 가능합니다.

L4 처럼 Load-Banlcing은 불가능 합니다. 만약에 Traffic를 분산화 하고 싶으면 L4 스위치를 구매해서 구성해야 합니다.

 

Active Directory01

IP: 192.168.10.224

Domain: mylab.local

User: Kevin1, Kevin2

 

Active Directory02

IP: 192.168.10.225

Domain: mylab.local

User: Kevin1, Kevin2

 

1. LDAP01을 설정합니다.

 

2. LDAP02를 설정합니다.

 

3. Authentication Profile를 설정 합니다.

 

4. Authentication Sequence를 설정합니다.

 

5. Global Protect Portal에서 Authentication 정보를 수정합니다.

 

6. Global Protect- Gateway에서 Authentication를 수정합니다.

 

7. Commit를 실행합니다.

8. 테스트를 진행 합니다.

Active Directory01, Active Directory02가 모두다 정상인 상태

 

Active Directory01 LAN카드를 Disable 합니다.

 

그리고 다시 GP를 테스트 합니다. AD01이 Down되었다는걸 인지 해야하기 때문에, GP가 연결되기까지 2배 이상에 시간이 걸립니다.

 

AD01이 다운되어도 AD02를 통해서 GP USER 인증이 가능 합니다. 

 

지금까지 글을 읽어주셔서 감사합니다. 

안녕하세요.

 

이번에는 PaloAlto Global Protect(Remote User)를 인증할때 PaloAlto User를 사용하는게 아니라 Active Directory을 통해서 GP User를 인증해 보겠습니다. 

 

1. Windows Server 설치 아래를 참고 부탁드립니다. 

https://itblog-kr.tistory.com/66

 

[Win2019 Server][#1] - Windows Server 2019 Installation

안녕하세요.  오늘은 VMware Esxi에 Windows Server 2019 trial version를 설치 해서 공부 해보곘습니다.  1. VMware Esxi를 접속 합니다. 가상시스템을 클릭 -> VM생성/등록을 선택 합니다. 2. 다음을 클릭 합니

itblog-kr.tistory.com

 

2. Active Directory 설정은 아래를 참고 부탁드립니다. 

https://itblog-kr.tistory.com/68

 

[Win2019 Server][#3] - Active Directory Installation

안녕하세요. 이번에는 Windows Server 2019에서 Active Directory를 설치해보겠습니다.  1. Server Manager를 클릭 합니다. 2. Local Server -> Ethernet0를 선택합니다. 서버는 IP주소가 DHCP가 아닌 Static으로 설정 되

itblog-kr.tistory.com

 

3. PaloAlto Global Protect 설정은 아래를 참고 부탁드립니다.

https://itblog-kr.tistory.com/89

 

[PaloAlto FW-#7]- Global Protect(Remote User)

안녕하세요. 이번에는 PaloAlto에서 Global Protect(remote user) 설정에 대해서 알아보겠습니다. 토폴로지는 아래와 같습니다. E1/1을 global protect를 설정 하고 팔로알토 로컬 유저를 통해서 인증을 시도

itblog-kr.tistory.com

 

https://itblog-kr.tistory.com/90

 

[PaloAlto FW-#8]- Global Protect(Remote User) with different port

안녕하세요. 오늘은 PaloAlto에서 Global Protect(Remote User) 설정하는데 디폴트 포트443이 아닌 다른 포트로 Global Protect를 설정하는 방법에 대해서 알아보겠습니다. 토폴로지는 아래와 같습니다.  MGMT

itblog-kr.tistory.com

 

Active Directory 서버 정보 입니다.

IP: 192.168.10.224 

Domain: mylab.local

 

User생성 합니다.

 

1. PALOALTO LADP를 설정합니다

Type: active-directory

Base DN: DC=mylab,DC=local

Bind DN: administrator@mylab.local 

그리고 패스워드를 입력합니다

bind timeout: 2 seconds 

search timeout 2 seconds 

 

2. Authentication Profile 

 

 

3. Global Protect Portal를 Authentication 수정 합니다.

 

4. Global Protect Gateway에서 Authentication 수정 합니다. 

 

그리고 Commit를 실행합니다.

 

5. PaloAlto SSH로 연결 합니다.

admin@PA-VM> test authentication authentication-profile LADP01 username kevin1 password 
Enter password : 

Target vsys is not specified, user "kevin1" is assumed to be configured with a shared auth profile.

Do allow list check before sending out authentication request...
name "kevin1" is in group "all"

Authentication to LDAP server at 192.168.10.224 for user "kevin1"
Egress: 192.168.10.93
Type of authentication: plaintext
Starting LDAP connection...
Succeeded to create a session with LDAP server
DN sent to LDAP server: CN=kevin1,CN=Users,DC=mylab,DC=local
User expires in days: never

Authentication succeeded for user "kevin1"

admin@PA-VM> 

 

Profile 테스트 했을때 위에 처럼 성공하였습니다.

 

이번에는 GP 프로그램을 이용해서 직접 테스트 해보겠습니다

 

192.168.10.97 55555

 

연결이 완료 되었습니다

 

지금까지 Global Protect 인증할때 Active Directory를 사용해서 인증해보았습니다. 

글을 읽어주셔서 감사합니다. 

안녕하세요.

 

오늘은 PaloAlto에서 Global Protect(Remote User) 설정하는데 디폴트 포트443이 아닌 다른 포트로 Global Protect를 설정하는 방법에 대해서 알아보겠습니다.

 

토폴로지는 아래와 같습니다. 

 

MGMT 192.168.10.93/24 GW 192.168.10.253

E1/1 192.168.10.97/24 GW 192.168.10.253
E1/3 30.1.1.254/24

 

 

1. Zone를 생성합니다. 

Network -> Zones - Add 

 

Name: GP

Log Setting: None

Type: Layer3:

 

그리고 Okay버튼을 클릭 합니다. 

 

2. E1/1 Interface를 설정합니다.

 

3. Default Gateway를 설정합니다

 

4. Tunnel Interface를 생성합니다.

 

5. Loopback주소를 생성 합니다. GP 주소로 사용 될 예정입니다.

 

6. Certificate를 생성합니다.

 

192.168.10.71은 DNAT될 주소입니다. 

192.168.10.97 55555로 GP패킷이 들어오면, 192.168.10.71 443으로 포트포워딩 합니다.

그래서 GP gateway에서 사용할 certificate주소는 192.168.10.71이 필요합니다.

이 certificate은 GP_ROOT_CA로 인증되어야 합니다. 

 

7.  SSL/TLS Service Profile를 생성 합니다.

 

8. Local User를 생성 합니다.

 

9. Authentication Profile 생성

 

 

10. Global Portal를 생성합니다.

 

 

 

 

 

 

 

11. Global Protect Gateway 생성

 

12. DNAT생성 합니다.

 

13. Policy 정책을 생성합니다.

 

 

Commit를 실행 합니다. 

 

14. Test

테스트 PC에서 telnet 192.168.10.97 55555 실행합니다. 

 

포트가 정상적으로 동작합니다.

 

 

정상적으로 동작합니다. 

 

192.168.10.97 55555 입력하면 DNAT를 통해서 192.168.10.71 443 Global Portal and gateway에 접속하여 GP 연결을 완료 하였습니다.

 

이번에는 

192.168.10.97 55555 Production GP USER를 사용한다고 가정합니다. GP USER IP - 80.1.1.100-80.1.1.200

192.168.10.97 55556 Test GP USER또는 파트너 들이 사용한다고 가정합니다.  GP USER IP - 90.1.1.100-90.1.1.200

 

IP주소가 다르기때문에, IP기반으로 방화벽 정책을 가능합니다. 

 

1. Loopback 222를 생성합니다.

 

2. Tunnel를 생성합니다.

 

3. Certificate를 생성합니다.


4. SSL/TLS Service Profile를 생성합니다. 

 

5. Global Protal를 생성합니다.

 

6. Gateway를 생성합니다.

 

7. DNAT를 생성합니다.

 

8. 방화벽 정책은 이전에 생성 하였기 때문에 생략합니다.

 

9. 테스트를 진행합니다.

192.168.10.97 55556

 

IP주소가 90.1.1.x/24이기 떄문에, 이 대역은 TEST구간에 장비들만 접속가능하게 설정해서 Test USER 또는 파트너사들에게 제공 가능합니다.

 

가장 좋은 방법은 공인 IP가 두개 있으면 공인 IP주소로 사용 해도 상관없습니다.

공인 IP주소가 1개인경우 DNAT를 이용해서 이렇게 사용 가능 합니다.

 

지금까지 글을 읽어주셔서 감사합니다.

안녕하세요.

 

이번에는 PaloAlto에서 Global Protect(remote user) 설정에 대해서 알아보겠습니다.

 

토폴로지는 아래와 같습니다. 

E1/1을 global protect를 설정 하고 팔로알토 로컬 유저를 통해서 인증을 시도해보겠습니다.

 

1. Global Protect사용할 Zone를 생성

Network -> Zones -> Add

 

Name: GP

Type: Layer3

Enable user identification: Check

2. Tunnel Interface 생성

 

 

3. Certificate 생성

아래 처럼 입력하고 Generate버튼을 클릭 합니다. 

 

Root CA 생성 하였습니다. 

5.  SSL/TLS Service Profile 생성

 

아까 생성한 Certificate를 선택합니다. 

 

 

6. GP에 사용할 User를 생성하고 Auth-Profile를 생성합니다.

 

 

AUTH-PROFILE 생성

 

 

 

7. Global Protect Protal Configuration

 

아까 생성한 SSL/TLS profile를 선택하고 Add버튼을 클릭 합니다. 

 

 

Username아니면 Certificate 방식 두개중 한개 인증되면 허용 하게 선택 합니다. 

 

Add버튼을 클릭 합니다. 

 

Add버튼을 클릭 합니다. 

 

 

 

 

 

8. Gateway configuration

 

Add를 클릭 합니다. 

 

 

 

 

 

User가 GP에 연결되었을때 받아갈 IP주소를 선택합니다. 

 

30.1.1.0/24에 대해서만 Tunnel을 이용해서 GP내부에 통신 가능하게 설정

Split Tunnel 그리고 Okay버튼 클릭

 

 

9. 방화벽 정책 추가

 

OK 버튼을 클릭합니다.

 

10. Commit를 실행하고 테스트를 진행 합니다. 

IP주소를 설정하고 GW를 INT_ROUTER로 설정합니다. 

 

E1/1 GP IP에 Ping테스트


GP를 설치하고 아래처럼 IP주소 입력

 

그리고 Username과 Password를 입력 합니다. 

 

그리고 VPC에 30.1.1.1에 Ping이 가능합니다.

 

지금까지 Global Protect(Remote VPN)에 대해서 알아보았습니다.

글을 읽어주셔서 감사합니다. 

안녕하세요.

 

이번에는 PaloAlto에서 Internet 회선이 두개있을때 ISP01이 Main ISP02가 Backup으로 동작할 수 있도록 설정해보겠습니다.

 

E1/1 10.1.1.254 - Main Internet Metric 10

E1/2 20.1.1.254 - Backup Internet Metric 100

 


Forwarding Table를 확인하면 아래처럼 GW01이 Metric10이어서 선택되었습니다.


1. GW01에서 8.8.8.8 Moniter를 설정 하겠습니다.

 

 

 

2. commit를 실행 합니다.

3. VPC에서 Ping를 무한으로 실행합니다.

VPCS> ping 8.8.8.8 -c 10000

84 bytes from 8.8.8.8 icmp_seq=1 ttl=55 time=25.751 ms
84 bytes from 8.8.8.8 icmp_seq=2 ttl=55 time=8.481 ms

 

4. PaloAlto에서 확인해보면 현재 모니터링이 잘 되고 있습니다. 

 

5. E1/1를 Disable 합니다. 

그리고 VPC Ping를 모니터링 합니다.

 

6. 팔로알토 방화벽 Static Monitering를 확이합니다.

 

8.8.8.8 모니터링이 실패하고 Default Gateway가 바뀌었습니다.

 

7. 이번에는 E1/1 Enable해보겠습니다.

 

 

8.  82초 이후로 GW01로 변경됩니다.

 

 

Monitor이 UP이 되고 GW01로 변경되었습니다. VPC에서 Ping도 정상적으로 잘 동작합니다. 

 

지금까지 글을 읽어주셔서 감사합니다.

 

안녕하세요.

 

이번에는 30.1.1.1 PC가 외부에 인터넷이 가능 하도록 설정해 보겠습니다.

 

 

토폴로지는 아래와 같습니다. 

 

1. INT_Router를 설정 하도록 하겠습니다. 

en
conf t
ho INT_Router
int g0/0
ip add 192.168.10.92 255.255.255.0
no sh
int g0/1
ip add 10.1.1.1 255.255.255.0
no sh
int g0/2
ip add 20.1.1.1 255.255.255.0
no sh
ip route 0.0.0.0 0.0.0.0 192.168.10.253

 

2. Check INT_Router 

Router#show ip int brie
Interface                  IP-Address      OK? Method Status                Protocol
GigabitEthernet0/0         192.168.10.92   YES manual up                    up      
GigabitEthernet0/1         10.1.1.1        YES manual up                    up      
GigabitEthernet0/2         20.1.1.1        YES manual up                    up      
GigabitEthernet0/3         unassigned      YES unset  administratively down down    
Router#

Router#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 192.168.10.253 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 192.168.10.253
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.1.1.0/24 is directly connected, GigabitEthernet0/1
L        10.1.1.1/32 is directly connected, GigabitEthernet0/1
      20.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        20.1.1.0/24 is directly connected, GigabitEthernet0/2
L        20.1.1.1/32 is directly connected, GigabitEthernet0/2
      192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.10.0/24 is directly connected, GigabitEthernet0/0
L        192.168.10.92/32 is directly connected, GigabitEthernet0/0
Router#

 

3. ping 8.8.8.8

Router#ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/4 ms
Router#

 

4. INT_Router에서 SNAT를 설정 합니다. 

int g0/0
ip nat outside
int g0/1
ip nat inside
int g0/2
ip nat inside

access-list 1 permit any
ip nat inside source list 1 interface g0/0 overload

 

5. Test - Source를 변경해서 외부로 Ping를 하면 제대로 동작 합니다. 

INT_ROUTER#ping 8.8.8.8 source g0/1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/5 ms
INT_ROUTER#ping 8.8.8.8 source g0/2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
Packet sent with a source address of 20.1.1.1 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/7 ms
INT_ROUTER#

 

6. Router에서 NAT table test

INT_ROUTER#show ip nat translations 
Pro Inside global      Inside local       Outside local      Outside global
icmp 192.168.10.92:3   10.1.1.1:3         8.8.8.8:3          8.8.8.8:3
icmp 192.168.10.92:4   20.1.1.1:4         8.8.8.8:4          8.8.8.8:4
INT_ROUTER#


이제 PaloAlto에서 확인해보겠습니다.

 

1. Static route를 설정합니다.

 

2. Add를 클릭 합니다. 

 

3. GW01를 설정합니다. Metric 10

 

4. GW02를 설정합니다.

 

 

5. NAT를 설정합니다.

 

 

6. 이번에는 SNAT02를 만듭니다. 

7. Policy를 설정합니다

 

 

 

 

7. VPC 에서 Ping 8.8.8.8 시도 합니다.

VPCS> ping 8.8.8.8

84 bytes from 8.8.8.8 icmp_seq=1 ttl=55 time=30.465 ms
84 bytes from 8.8.8.8 icmp_seq=2 ttl=55 time=6.784 ms
84 bytes from 8.8.8.8 icmp_seq=3 ttl=55 time=7.433 ms
84 bytes from 8.8.8.8 icmp_seq=4 ttl=55 time=6.824 ms
84 bytes from 8.8.8.8 icmp_seq=5 ttl=55 time=6.570 ms

VPCS> 

 

방화벽에서 Policy 그리고 NAT hit count 확인

 

 

지금까지 PaloAlto에서 SNAT에 대해서 알아보았습니다.

글을 읽어주셔서 감사합니다. 

안녕하세요.

 

이번에는 PaloAlto Interface Mgmt에 대해서 알아보겠습니다.

PaloAlto interface에 Ping, http, https등 Enable하기위해서는 Interface Mgmt Profile를 만들고 interface에 할당 해야 합니다.

 

토폴로지는 아래와 같습니다. 

 

1.  VPC에서 30.1.1.254 ping를 시도 합니다.

VPCS> ping 30.1.1.254

30.1.1.254 icmp_seq=1 timeout
30.1.1.254 icmp_seq=2 timeout
30.1.1.254 icmp_seq=3 timeout
30.1.1.254 icmp_seq=4 timeout
30.1.1.254 icmp_seq=5 timeout

VPCS> 
VPCS> 



 

실패 합니다.

 

2. Interface Mgmt Profile를 설정 합니다.

Network ->Interface Mgmt -> Add

 

Trust-Profile 설정

 

Untrust-Profile 설정

 

 

3. Interface에 할당합니다. 

 

E1/1 - Untrust-Profile

E1/2 -Untrust-Profile

E1/3 - Trust-Profile

 

 

 

4. Commit를 실행 합니다.

5. VPC에서 다시 Default Gateway로 PIng를 시도 합니다. 

VPCS> ping 30.1.1.254

84 bytes from 30.1.1.254 icmp_seq=1 ttl=64 time=18.113 ms
84 bytes from 30.1.1.254 icmp_seq=2 ttl=64 time=2.498 ms
84 bytes from 30.1.1.254 icmp_seq=3 ttl=64 time=2.753 ms
84 bytes from 30.1.1.254 icmp_seq=4 ttl=64 time=2.241 ms
84 bytes from 30.1.1.254 icmp_seq=5 ttl=64 time=3.220 ms

VPCS> 

 

지금까지 PaloAlto Interface Mgmt Profile에 대해서 알아보았습니다.

지금까지 글을 읽어주셔서 감사합니다. 

안녕하세요.

 

이번에는 Zone에 대해서 알아보겠습니다.

PaloAlto 방화벽은 Zone based 방화벽 입니다. 

Interface는 Zone에 할당되어야 하고 방화벽 정책에 적용 할때는 Zone를 기준으로 정책이 할당 됩니다.

 

이번에는 Zone를 생성하고 Zone를 Interface에 할당 하는 방법에 대해서 알아보겠습니다.

 

1. 장비에 접속 합니다.  

    https://192.168.10.91

 

2.  Network -> Zones -> Add 

 

3. Trust Zone를 생성합니다.

 

4. Untrsut Zone를 생성 합니다.

5.Interface에 IP주소를 설정하고 Zone를 할당 합니다. 

 

E1/1

IP: 10.1.1.254/24

Zone: Untrust


E1/2

IP: 20.1.1.254/24

Zone: Untrust

 

E1/3

IP: 30.1.1.254/24

Zone: Trust

 

 

5-1 E1/1 설정

 

 

5-2 E1/2 서정

 

 

5-3 E1/3 설정

 

6. 설정을 다 하고 Commit를 실행합니다.

 

아래처럼 링크가 활성화 되었습니다. 

 

VPC IP를 설정 합니다. 


VPCS> ip 30.1.1.1 255.255.255.0 30.1.1.254
Checking for duplicate address...
VPCS : 30.1.1.1 255.255.255.0 gateway 30.1.1.254

VPCS> save
Saving startup configuration to startup.vpc
.  done

VPCS> ping 30.1.1.254

30.1.1.254 icmp_seq=1 timeout
30.1.1.254 icmp_seq=2 timeout
30.1.1.254 icmp_seq=3 timeout
30.1.1.254 icmp_seq=4 timeout
30.1.1.254 icmp_seq=5 timeout

VPCS> 


 

하지만 위와 같이 Default Gateway로 Ping를 실패하였습니다. 

 

팔로알토는 보안 장비이기 때문에 Interface mgmt profile이 Interface에 적용 되어야지 PIng이 가능 합니다. 

이 부분은 다음글에서 확인하겠습니다. 

 

지금까지 글을 읽어주셔서 감사합니다. 

+ Recent posts