no image
[Linux] Squid 프록시 설치
프록시 서버의 일종으로 간편하게 구성할 수 있는 장점이 있습니다.프록시 서버클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 또는 응용 프로그램, 서버와 클라이언트 사이에서 중계기로서 대리로 통신을 수행하는 기능을 가리켜 ‘프록시’. 그 중계 기능을 하는 것을 의미합니다.VPN공용망을 별도의 가상 사설망 처럼 통신, 프록시와 다른점은 VPN은 보안에 강합니다. 프록시는 공용으로 사용하기에 IP 우회하기에 좋다고 볼 수 있습니다.서버 구축 프로세스프록시 서버가 될 서버에 squid 설치/etc/sysctl.conf에 net.ipv4.ip_forward = 1, net.ipv6.conf.all.disable_ipv6 = 1 추가squid.conf 백업 후, vim ..
2023.09.21
[Linux] IPTables 개념
해당 패키지는 필요한 테이블을 선택하여 각 규칙을 정할 수 있는데, 클라우드 시스템에서는 가장 많이 사용되는 테이블은 NAT 입니다.  Iptables의 명령어 구조iptables [ -t 테이블 ] [ 액션 ] [ 체인 ] [ 매치 ] [ -j 타겟 ]exex 1) iptables -t nat -A PREROUTING -j DNAT -p tcp --dport 22222 --to-destination 172.27.0.208:22해석NAT 테이블을 사용하여 PREROUTING 정책을 추가한다(DNAT), 매치되는 22222포트를 사용하는 패킷은 DNAT로 처리하고 타겟은 172.27.0.208:22로 한다.ex 2) iptables -t nat -A POSTROUTING -j SNAT -o eth0 -d ..
2023.09.21
CentOS 6 repolist
sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.confcat /etc/yum.repos.d/vault.repo[vault]name=CentOS-$releasever - Vaultbaseurl=http://vault.centos.org/centos/$releasever/os/$basearch/enabled=1gpgcheck=1EOFyum clean allyum repolist
2023.09.20

[Linux] Squid 프록시 설치

하녕
|2023. 9. 21. 15:11
반응형
  • 프록시 서버의 일종으로 간편하게 구성할 수 있는 장점이 있습니다.

  • 프록시 서버
    • 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 또는 응용 프로그램, 서버와 클라이언트 사이에서 중계기로서 대리로 통신을 수행하는 기능을 가리켜 ‘프록시’. 그 중계 기능을 하는 것을 의미합니다.
  • VPN
    • 공용망을 별도의 가상 사설망 처럼 통신, 프록시와 다른점은 VPN은 보안에 강합니다. 프록시는 공용으로 사용하기에 IP 우회하기에 좋다고 볼 수 있습니다.

  • 서버 구축 프로세스
    1. 프록시 서버가 될 서버에 squid 설치
    2. /etc/sysctl.conf에 net.ipv4.ip_forward = 1, net.ipv6.conf.all.disable_ipv6 = 1 추가
    3. squid.conf 백업 후, vim /etc/squid/squid.conf 에서 필요한 설정 ( ACL 혹은 PORT 등)
    4. 프록시가 필요한 서버에 설정

준비물 : 프록시가 될 서버, 프록시를 사용 할 서버

 

- 공인망

공인망
공인망

- 폐쇄망

폐쇄망

 

폐쇄망

yum install -y squid

 

squid를 설치하면 기본적인 acl 정책이 들어가있는데, 다음과 같습니다.

폐쇄망으로 설정한 네트워크 대역대가 기본적으로 설정되어 있으므로, 별도의 설정을 추가하지는 않겠습니다.

 

 

IP 포워딩과 IPv6 비활성화 파라미터를 추가하고 반영한 후에 Squid를 재시작합니다.

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf

sysctl -p

systemctl restart squid

 

 

 

wget 사용이 필요할 때

echo "https_proxy = http://192.168.0.108:3128" >> /etc/wgetrc
echo "http_proxy = http://192.168.0.108:3128" >> /etc/wgetrc
echo "ftp_proxy = http://192.168.0.108:3128" >> /etc/wgetrc

 

 

 

yum 사용이 필요할 때

echo "proxy=http://192.168.0.108:3128" >> /etc/yum.conf

yum clean all

 

이렇게 기본적인 wget, yum 사용만 필요할 경우에는 squid 프록시를 사용하게 간편하게 구축하여 사용할 수 있습니다.

단, 풀 프록시가 필요할 경우에는 OpenVPN 등을 통해 환경을 구성하는 것이 좋습니다.

반응형

'Linux' 카테고리의 다른 글

AWS로 OpenVPN 간단하게 구축하기  (0) 2024.07.17
[Linux] IPTables 개념  (0) 2023.09.21
CentOS 6 repolist  (0) 2023.09.20
CentOS 7 repolist  (0) 2023.09.20
OpenSSL 설치 및 업그레이드  (0) 2023.09.20

[Linux] IPTables 개념

하녕
|2023. 9. 21. 13:46
반응형

해당 패키지는 필요한 테이블을 선택하여 각 규칙을 정할 수 있는데, 클라우드 시스템에서는 가장 많이 사용되는 테이블은 NAT 입니다.

 

 

  • Iptables의 명령어 구조
    • iptables [ -t 테이블 ] [ 액션 ] [ 체인 ] [ 매치 ] [ -j 타겟 ]
    • ex
      1. ex 1) iptables -t nat -A PREROUTING -j DNAT -p tcp --dport 22222 --to-destination 172.27.0.208:22
        • 해석
          NAT 테이블을 사용하여 PREROUTING 정책을 추가한다(DNAT), 매치되는 22222포트를 사용하는 패킷은 DNAT로 처리하고 타겟은 172.27.0.208:22로 한다.
      2. ex 2) iptables -t nat -A POSTROUTING -j SNAT -o eth0 -d 172.27.0.0/24 --to-source 172.27.0.162
        • 해석
          NAT 테이블을 사용하여 POSTROUTING 정책을 추가한다(SNAT), eth0 인터페이스로 나가는 172.27.0.0/24의 모든 ip 대역은 172.27.0.162의 주소로 변환된다.

  • 테이블 : 사용할 테이블 기본은 filter
    1. filter : 방화벽
    2. nat : 주소 변환
    3. mangle : 패킷 데이터 변경 특수 규칙 OR 성능향상 TOS
    4. raw : 넷필터의 연결추적 하위시스템과 독립적 동작 규칙

  • 액션 : 정책의 변경 추가 삭제 등
    1. -A : APPEND 정책 추가
    2. -I : INSERT 정책 삽입
    3. -D : DELETE 정책 삭제
    4. -R : REPLACE 정책 교체
    5. -F : FLUSH 모든 정책 삭제
    6. -P : POLICY 기본 정책 설정
    7. -:L : LIST 정책 나열
  • 체인 : 정책의 대해 어떤 행동을 취할 것인가?
    1. INPUT : 호스트를 향한 모든 패킷 (입력)
    2. OUTPUT : 호스트에서 발생하는 모든 패킷 (출력)
    3. FORWARD : 호스트가 목적지가 아닌 패킷, 경유지 (라우터)
    4. PREROUTING : 외부 패킷의 목적지 변경 INPUT으로 가야할 패킷을 FORWARDING
    5. POSTROUTING : 패킷이 OUTPUT에서 ip , port를 변경

  • 매치 : 출발지, 목적지, 인터페이스 등 지정
    1. -s : 출발지 매칭, 도메인 IP 주소 ,넷마스크 값을 이용하여 표기 (--source, --src)
    2. -d : 목적지 매칭, 도메인 IP 주소, 넷마스크 값을 이용하여 표기 (--destination, --dst)
    3. -p : 프로토콜과 매칭 대소문자는 구분하지 않음 ( TCP, UDP, ICMP 등)
    4. -i : 입력 인터페이스와 매칭 ( --in-interface)
    5. -o : 출력 인터페이스와 매칭 (--out-interface)
    6. -j : 매치되는 패킷을 어떻게 처리할지 지정 (--jump)
  • 타겟 : 패킷이 규칙과 일치할 때 매치가 취하는 정책
    1. ACCEPT : 패킷 허용
    2. DROP : 패킷을 버림
    3. REJECT : 패킷을 버리고 응답 패킷 전송
    4. LOG : 패킷을 syslog에 기록
    5. SNAT --to [주소] : 소스 IP를 변환
    6. DNAT --to [주소] : 목적지 IP를 변환
    7. RETURN : 호출 체인 내에서 패킷 처리를 계속함

  • 참조
    nat 기능 사용 시, /etc/sysctl.conf에 net.ipv4.ip_forward=1 추가해야함

 

  • 자주 사용하는 명령어
    1. iptables -nL -t {테이블} : 테이블 조회 
    2. iptables -F -t {테이블} : 테이블 초기화
    3. iptables save > /etc/sysconfig/iptables : 정책 저장
    4. iptables -t {테이블} -L {정책} --line-numbers : 테이블의 정책을 번호로 출력
    5. iptables -t {테이블} -D {정책} 숫자 : 선택한 테이블의 정책 삭제
반응형

'Linux' 카테고리의 다른 글

AWS로 OpenVPN 간단하게 구축하기  (0) 2024.07.17
[Linux] Squid 프록시 설치  (0) 2023.09.21
CentOS 6 repolist  (0) 2023.09.20
CentOS 7 repolist  (0) 2023.09.20
OpenSSL 설치 및 업그레이드  (0) 2023.09.20

CentOS 6 repolist

하녕
|2023. 9. 20. 17:25
반응형
sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf

cat <<EOF > /etc/yum.repos.d/vault.repo
[vault]
name=CentOS-$releasever - Vault
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
EOF

yum clean all
yum repolist

 

반응형

'Linux' 카테고리의 다른 글

[Linux] Squid 프록시 설치  (0) 2023.09.21
[Linux] IPTables 개념  (0) 2023.09.21
CentOS 7 repolist  (0) 2023.09.20
OpenSSL 설치 및 업그레이드  (0) 2023.09.20
[CVE-2023-38408] OpenSSH 업그레이드  (0) 2023.09.19