1 분 소요

1. 서론

    오늘은 JavaScript와 방화벽 구성에 대하여 배워보았다.

2. 본론

1. Front-End

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script>
      const date = new Date();
      // alert(date);
      const year = date.getFullYear();
      const month = date.getMonth() + 1;
      const date_v = date.getDate();
      const day = date.getDay();
      const hours = date.getHours();
      const mins = date.getMinutes();
      const secs = date.getSeconds();
      const dayArr = ["일", "월", "화", "수", "목", "금", "토"];

      //우리나라 날짜 표시 형식에 맞춰 출력하기
      console.log(
        year +
          "년 " +
          month +
          "월 " +
          date_v +
          "일 " +
          dayArr[day] +
          "요일 " +
          hours +
          "시 " +
          mins +
          "분 " +
          secs +
          "초 "
      );

      //오전 오후 나눠서 alert
      if (hours < 12) {
        alert("오전입니다.");
      } else {
        alert("오후입니다.");
      }

      //시간대별 alert
      if (hours < 5) {
        alert("자라");
      } else if (hours < 7) {
        alert("아침먹자");
      } else if (hours < 9) {
        alert("출근준비");
      } else if (hours < 10) {
        alert("출근해라");
      } else if (hours < 18) {
        alert("퇴근해라");
      } else {
        alert("쉬어라");
      }

      //계절별 alert
      if (month >= 3 && month <= 5) {
        alert("봄입니다.");
      } else if (month > 5 && month <= 7) {
        alert("여름입니다.");
      } else if (month > 7 && month <= 9) {
        alert("가을입니다.");
      } else {
        alert("겨울입니다.");
      }

      // array 요소들 출력
      const array = [273, "문자열", true, function () {}, {}, [21, 115]];
      // alert(array);
      console.log(array[0]);
      console.log(array[1]);
      console.log(array[2]);
      console.log(array[3]);
      console.log(array[4]);
      console.log(array[5]);

      // array의 "문자열" -> "홍길동"
      array[1] = "홍길동";
      console.log(array[1]);
      console.log("배열의 길이는 : " + array.length);

      // while문으로 반복작업
      var i = 0;
      while (i < array.length) {
        console.log(i + "번째 출력 " + array[i]);
        i++;
      }

      // 같은 작업 for문으로
      for (i = 0; i < array.length; i++) {
        console.log(i + "번째 내용 => " + array[i]);
      }

      //1~10000까지의 합계 for문으로
      let sum = 0;
      for (i = 1; i <= 10000; i++) {
        sum += i;
      }
      console.log("1~10000까지의 합 : " + sum);

      //짝수, 홀수 합계
      let sum_of_odd = 0;
      let sum_of_even = 0;
      for (i = 1; i <= 10000; i++) {
        if (i % 2 != 0) {
          sum_of_odd += i;
        } else {
          sum_of_even += i;
        }
      }
      console.log("1~10000까지 중 홀수의 합 : " + sum_of_odd);
      console.log("1~10000까지 중 짝수의 합 : " + sum_of_even);

      //합계가 10000을 초과하는 첫번째 수
      sum_til_10000 = 0;
      for (i = 1; i <= 10000; i++) {
        sum_til_10000 += i;
        if (sum_til_10000 > 10000) {
          break;
        }
      }
      console.log("합계가 10000을 초과하는 첫번째 경우 => " + sum_til_10000);
    </script>
  </head>
  <body></body>
</html>

2. Linux

//SSH
# systemctl enable --now sshd
//VNC
# dnf install -y tigervnc-server
# firewall-cmd --add-service=vnc-server --permanent
# firewall-cmd --reload
# vncpasswd :1
123456
123456
# vncserver :1

image

//Win2016
ip:192.168.20.1/24
gateway:192.168.20.254
dns:192.168.20.100 / 168.126.63.1

//CentOS
# nmtui
ip:192.168.20.200/24
gateway:192.168.20.254
dns:192.168.20.100 / 168.126.63.1

//UTM9
# route add default gw 10.0.0.1
# route //verify

//Win7
ip:192.168.10.1/24
gateway:192.168.10.254
dns:192.168.20.100

chrome
-> https://192.168.10.254:4444/
utm.kedu.edu
kedu.edu
Seoul
South Korea

Interfaces & Routing
-> Interfaces
-> New Interface

Network Protection
-> Firewall
-> Sources(Internal) + Services(ping) + Destinations(Any)

-> NAT
-> Network(Interneal) + Interface(External)

# ping 168.126.63.1 //verify

//방화벽에서 설정해야 하는 6가지 정책(분리된 구역 갯수에 따라 가지수는 달라짐)
in -> dmz
in -> external
dmz -> in
dmz -> external
external -> in
external -> dmz

3. 결론

    각종 장비와 그에 따른 설정이 수십가지가 있는데, 각기 다른 장비들과 서로 통신되게 하는 정책을 실제로는 어떻게 구성하는 편인지 궁금하고 신기하다.

4. 참고자료

1. Cisco Docs

  1. ARP
  2. CDP / VLAN
  3. Frame Relay
  4. Static Routing
  5. VLAN
  6. VTP
  7. Routed Port
  8. AD
  9. Route Selection
  10. FHRP
  11. HSRP
  12. DHCP
  13. DNS
  14. STP
  15. NAT
  16. EtherChannel
  17. DTP
  18. RIP
  19. NTP
  20. Offset List
  21. Password Encryption
  22. ACL
  23. CAR Attack
  24. Broadcast
  25. Port Assignments
  26. IPv6 Static Routing
  27. HSRP for IPv6
  28. Clock Rate
  29. DHCPv6 Guard
  30. EIGRP
  31. Express Forwarding
  32. Routing and Switching
  33. Load Balancing
  34. Ping, Traceroute
  35. Load Balancing
  36. Fast Switching
  37. CEF
  38. DNS
  39. SSH
  40. Regular Expression
  41. OSPF
  42. EIGRP’s SIA
  43. NSSA

2. Linux

  1. rhel9’s docs
  2. Linux Directory Structure
  3. File Types in Linux
  4. fstab
  5. Vim Cheat Sheet
  6. Protecting GRUB with a password
  7. SELinux
  8. DNS
  9. Samba as a server
  10. DHCP
  11. NFS
  12. SSH
  13. VNC

3. Web

  1. HTML’s Elements
  2. Emmet
  3. JavaScript
  4. Anchor Tag
  5. Post, Get
  6. Block, Inline Elements
  7. Semantic Web
  8. Semantic Elements
  9. CSS
  10. Viewport_meta_tag
  11. Media_queries
  12. JavaScript

클라우드 엔지니어를 꿈꾸며 공부를 시작한 초보 엔지니어입니다. 틀린점 또는 조언해주실 부분이 있으시면 친절하게 댓글 부탁드립니다. 방문해 주셔서 감사합니다 :)

댓글남기기