http://vimdoc.sourceforge.net/htmldoc/diff.html


vimdiff는 두개 이상의 파일을 비교/머지 할 수 있는 기능을 제공한다.

vim -d 옵션과 같다.


아래 커맨드 참고,

]c -  다음 차이점으로 이동
[c -  이전 차이점으로 이동
do -  상대 창에서 현재 창으로 차이점 가져오기 (diff obtain)
dp -  현재 창에서 상대 창으로 차이점 밀어넣기 (diff put)
zo -  동일한 내용 폴딩된 것 펼치기(open) 
zc -  동일한 내용 폴딩된 것 접기(close)
Ctrl + ww  - 다음 창으로 포커스 이동
Ctrl + wl - 오른쪽 창으로 포커스 이동
Ctrl + wh - 왼쪽 창으로 포커스 이동

:diffupdate - 차이점 업데이트 (편집하다보면 차이점이 제대로 표시 안될때)
:set diffopt+=iwhite - 비교할때 화이트 스페이스(공백, 탭 등) 무시하기
:set diffopt+=icase - 비교할때 대소문자 차이점 무시하기



.vimrc에다가 조금 튜닝하면 조금 더 편하게 쓸 수 있다. (커맨드라인에 따로 실행 해도 되고)

  • 커서라인 표시 : set cursorline
  • 단축키 변경 ]c → ]   [c → [
  • 하일라이트 색상 변경
if &diff
    set cursorline
    map ] ]c
    map [ [c
    syntax off
endif


'OS > Linux' 카테고리의 다른 글

vimdiff 사용법  (0) 2018.04.21
Linux 에서 IP 추출  (0) 2018.04.21
랜덤 내용 특정 사이즈 더미 파일 만들기  (0) 2018.02.21
StrongSwan으로 Cloud끼리 VPN 설정 해보기  (0) 2017.12.17
IP

Linux 에서 IP 추출

ip addr | grep global | awk '{print $2}' | cut -d/ -f1

'OS > Linux' 카테고리의 다른 글

vimdiff 사용법  (0) 2018.04.21
Linux 에서 IP 추출  (0) 2018.04.21
랜덤 내용 특정 사이즈 더미 파일 만들기  (0) 2018.02.21
StrongSwan으로 Cloud끼리 VPN 설정 해보기  (0) 2017.12.17

TCP 튜닝 -  CENTOS7

net.ipv4.tcp_congestion_control = bbr 적용을 위해 커널 4.15 로 업그레이드 (4.9이상 필요)

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm yum --disablerepo="*" --enablerepo="elrepo-kernel" list available yum --enablerepo=elrepo-kernel -y install kernel-ml

grub2-set-default 0

#리부팅 커널 버전 확인 reboot uname -sr


상기 커널 업그레이드를 할수 없다면 net.ipv4.tcp_congestion_control = cubic 로 변경 하거나 지운다(default가 cubic)

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/ip_forward.conf

cat << EOF > /etc/sysctl.d/nettune.conf net.core.rmem_default = 524288 net.core.wmem_default = 524288 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 30000 net.core.somaxconn = 1024 net.core.default_qdisc = fq net.ipv4.tcp_rmem = 262144 524288 16777216 net.ipv4.tcp_wmem = 262144 524288 16777216 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_slow_start_after_idle = 0 net.ipv4.tcp_max_tw_buckets = 1800000 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_congestion_control = bbr EOF


sysctl --system #sysctl -p /etc/sysctl.d/ip_forward.conf #sysctl -p /etc/sysctl.d/nettune.conf

http://meetup.toast.com/posts/55

https://www.tecmint.com/increase-linux-server-internet-speed-with-tcp-bbr/

https://www.vultr.com/docs/how-to-deploy-google-bbr-on-centos-7


iperf3

#클라이언트 iperf3 -V -c 10.178.31.240 -b 1G --get-server-output -P 5 iperf3 -V -c 10.178.31.240 -b 1G --get-server-output --udp -P 5 #서버 iperf3 -V -s




'ETC.' 카테고리의 다른 글

TCP 튜닝  (0) 2018.03.30
Let's Encrypt Wildcard 인증서 발급하기  (0) 2018.03.29
[리눅스] CentOS 7 타임존 변경  (0) 2018.02.08
Proxy 설정 - nginx 사용하기  (0) 2017.12.14
Subnet BIT  (0) 2017.08.30

원문 : https://www.clien.net/service/board/cm_nas/11884520


무료인증서 - 3개월 마다 갱신 필요.

Wildcard 가능해짐(2018년3월)

https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579


DNS 확인 방법으로는 인증서 자동 업데이트가 되지 않으므로, 추가

며칠 후면 인증서 발행 툴들이 보다 쉽게 적용할 수 있도록 업데이트 되리라 믿습니다.


Wildcard이기 때문에 서버로 인증받는게 아닌 도메인의 TXT값을 직접 이력해주어야한다.

아래 과정 중 나오는 값은 _acme-challenge 호스트네임으로 TXT로 입력해주면 된다.

_acme-challenge.opencloud.kr


1. 서버 접속 후 루트 접근 

$ sudo su -


2. certbot 설치

# git clone  https://github.com/certbot/certbot

# cd certbot

# sudo ./certbot-auto --os-packages-only    #여기서 y를 눌러서 필수 패키지를 설치한다.

# ./tools/venv.sh


3. certbot 으로 인증서 발행

# source ./venv/bin/activate

# 도메인명과 이메일을 수정해서 아래 명령을 시행합니다.

sudo ./venv/bin/certbot -d *.도메인명 --email 이메일 --text --agree-tos --server  https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --expand --renew-by-default  --manual-public-ip-logging-ok certonly


처음 위 명령을 실행하면 이메일을 등록하라고 합니다. Y 를 누릅니다.

다음으로 certbot 프로그램이 _acme-challenge.도메인명  에 입력할 DNS TXT를 화면상에 보여 줍니다.

_acme-challenge.[도메인명] DNS TXT

도메인에 해당값을 셋팅한 후 엔터를 누르면 해당 도메인을 검증하고 인증서가 발행됩니다.

재실행시 TXT값이 바뀌므로 도메인 셋팅 후 엔터를 누르도록 합니다.


추가) 인증서 확인

# ./venv/bin/certbot certificates

인증서 위치

# /etc/letsencrypt/live/[도메인명]


# 인증서 폴더 접근 권한 설정

sudo chown [사용자명] /etc/letsencrypt/live


--------------------------------------------------------------------------------------------------------------------------

*추가 정보1: PEM ->  PFX (IIS 서버용으로 변환)

sudo openssl pkcs12 -passout pass:[패스워드] -export -out ./cert.pfx -inkey /etc/letsencrypt/live/[도메인명]/privkey.pem -in /etc/letsencrypt/live/[도메인명]/cert.pem -certfile /etc/letsencrypt/live/[도메인명]/chain.pem


변환된 인증서 접근권한 부여


sudo chown [사용자명] ./cert.pfx


*추가 정보2: 와일드카드 외 도메인 등록

익스체인지 서버에서는 와일드카드(*) 도메인 인증서 등록시 에러가 발생하더군요, 아래와 같이 mail을 명시적으로 추가해서 만들어 주니 문제가 없었습니다.

sudo ./venv/bin/certbot -d mail.[도메인명],*.[도메인명]  --email [이메일] --text --agree-tos --server  https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns --expand --renew-by-default  --manual-public-ip-logging-ok certonly

'ETC.' 카테고리의 다른 글

TCP 튜닝  (0) 2018.03.30
Let's Encrypt Wildcard 인증서 발급하기  (0) 2018.03.29
[리눅스] CentOS 7 타임존 변경  (0) 2018.02.08
Proxy 설정 - nginx 사용하기  (0) 2017.12.14
Subnet BIT  (0) 2017.08.30

hashicorp

http://longbe00.blogspot.kr/2017/08/consul.html


http://tech.kakao.com/2017/01/25/nomad/

http://teddykwon.com/2017/01/18/consul-install.html

http://teddykwon.com/2017/01/19/docker-swarm-consul.html

http://rootkey.tistory.com/12

https://blog.outsider.ne.kr/1266

'Docker' 카테고리의 다른 글

consul, nomad, vault  (0) 2018.03.18



시작하기

일반적으로 SoftLayer API를 호출하기 위해서는 인증을 위한 API Key 가 있어야 합니다.
하지만 유일한 예외가 있습니다. 그것은 인스턴스 자기 자신의 메타 데이터 정보 를 호출 할 때입니다.
SoftLayer_Resource_Metadata 라는 Service는 어디에서 호출되었는지 만 중요하고, 사전에 API Key를 얻는 필요는 없습니다.
만약 slcli 명령을 사용하더라도 API Key없이 사용할 수 있습니다.

http://sldn.softlayer.com/reference/services/SoftLayer_Resource_Metadata

사용 조건

사용 조건은 다음과 같습니다.

  • 실제로 SoftLayer에서 실행되는 서버에서 실행
  • Private 통해 API 액세스 할 수 있는 서버에서 실행 (Public을 통해서는 동작하지 않습니다.)

예를 들어 관리 콘솔 등의 권한이 없어도 자신의 서버가 어떤 데이터 센터에서 움직이고 있는지 알 수 있습니다.

사용 방법(curl)

기본적으로 json 포맷으로 반환됩니다. (값만 반환)
하지만 .xml 확장자를 주면 xml 형식으로 반환됩니다.
또는 .json 처럼 명시적으로 .json을 붙여도 됩니다.
즉, getID인경우 getID.json 또는 getID.xml 로 쓸수도 있습니다.

  • DeviceID (Baremetal이라면 HardwareId VM라면 VirtualGuestId)

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getId
    
  • 호스트 이름, 도메인 이름, FQDN

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getHostname
    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getDomain
    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getFullyQualifiedDomainName
    
  • Public/Private PrimaryIPAddress

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getPrimaryIpAddress
    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getPrimaryBackendIpAddress
    
  • Public/Private MACAddress

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getFrontendMacAddresses
    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getBackendMacAddresses
    
  • 라우터 정보 (상기 방법으로 얻은 MAC 주소를 파라미터로 끝에 넣어 주어야 합니다)

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getRouter/06:5c:99:52:1a:60
    
  • VLAN 정보 (상기 방법으로 얻은 MAC 주소를 파라미터로 끝에 넣어 주어야 합니다)

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getVlanIds/06:5c:99:52:1a:60
    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getVlans/06:5c:99:52:1a:60
    
  • 데이터 센터 정보

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getDatacenterId
    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getDatacenter
    
  • 프로비저닝 상태

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getProvisionState
    
  • 태그 정보

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getTags
    
  • UserData 정보

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getUserMetadata
    
  • 서비스 자원 정보

    # curl -s https://api.service.softlayer.com/rest/v3.1/SoftLayer_Resource_Metadata/getServiceResources
    

사용 방법 - slcli 사용

다시말하지만, slcli 명령을 사용하여도 metadata 정보의 취득에 관해서는 사전에 API Key의 설치는 필요하지 않습니다.

  • 명령 예시

      # slcli metadata -h
      Usage: slcli metadata [OPTIONS] PROP
    
        Find details about this machine
    
        PROP Choices
        *backend_ip
        *backend_mac
        *datacenter
        *datacenter_id
        *fqdn
        *frontend_mac
        *id
        *ip
        *network
        *provision_state
        *tags
        *user_data
    
        Examples :
        slcli metadata backend_ip
        slcli metadata backend_mac
        slcli metadata datacenter
        slcli metadata datacenter_id
        slcli metadata fqdn
        slcli metadata frontend_mac
        slcli metadata id
        slcli metadata ip
        slcli metadata network
        slcli metadata provision_state
        slcli metadata tags
        slcli metadata user_data
    
      Options:
        -h, --help  Show this message and exit.
    
        These commands only work on devices on the backend SoftLayer network. This
        allows for self-discovery for newly provisioned resources.
    
  • network 정보 확인

    # slcli metadata network
    :...............:...................:
    :      name     :       value       :
    :...............:...................:
    : mac addresses : 06:90:31:e4:0c:90 :
    :     router    :    fcr01.sng01    :
    :     vlans     :        xxxx       :
    :    vlan ids   :       xxxxxx      :
    :...............:...................:
    :...............:...................:
    :      name     :       value       :
    :...............:...................:
    : mac addresses : 06:18:10:e0:91:17 :
    :     router    :    bcr01.sng01    :
    :     vlans     :        xxxx       :
    :    vlan ids   :       xxxxxx      :
    :...............:...................:
    




https://softlayer.github.io/reference/services/SoftLayer_Resource_Metadata/ 참고

getBackendMacAddresses
A list of backend MAC addresses
getDatacenter
The name for the datacenter which the resource is in
getDatacenterId
The id for the datacenter which the resource is in
getDomain
A resource's domain
getFrontendMacAddresses
A list of frontend MAC addresses
getFullyQualifiedDomainName
A resource's fully qualified domain name
getGlobalIdentifier
A resource's globalIdentifier
getHostname
A resource's hostname
getId
A resource's id
getPrimaryBackendIpAddress
The primary backend IP address for the resource
getPrimaryIpAddress
The primary IP address for the resource
getProvisionState
Obtain the provision state for a resource
getRouter
The router associated with a network component
getServiceResource
Obtain a specific service resource associated with the resource
getServiceResources
Obtain service resources associated with the resource
getTags
Obtain tags associated with the resource
getUserMetadata
Obtain user data associated with the resource
getVlanIds
A list of VLAN ids for a network component
getVlans
A list of VLAN numbers for a network component

 


랜덤 내용의 더미 파일 만들기

linux

dd if=/dev/urandom of=1G.bin bs=16M count=64


windows

Null파일

fsutil file createnew D:\myfile.txt 1073741824


랜덤 내용은 툴 써야 함.

http://www.mynikko.com/dummy/dummy12.zip

'OS > Linux' 카테고리의 다른 글

vimdiff 사용법  (0) 2018.04.21
Linux 에서 IP 추출  (0) 2018.04.21
랜덤 내용 특정 사이즈 더미 파일 만들기  (0) 2018.02.21
StrongSwan으로 Cloud끼리 VPN 설정 해보기  (0) 2017.12.17

Proxy 테스트 할때 ICP 회피 할려다 하다 보니...  생각난 방법이다.

도메인으로 접속해야만 하는 경우 ICP가 없으면 17년 6월부터 사이버 보안법 때문에 vendor 차원에서 짤없이 차단이다.

그냥 IP로 접속하면 되겠지만, 본 경우는 WebServer는 vhost설정이 되어 있어서 IP로 접속할 수 없고 실제로 도메인으로 접속해야하는 경우다. 

즉, 테스트 서버는 IP로 접속해야 하고, 실제 대상 웹서버에는 도메인을 달고 들어가야 하는 경우.

방법은 간단하게 접속시 Host를 바꿔치기 하면 된다.

location / {
  proxy_pass http://origin.opencloud.kr;
proxy_set_header Host www.opencloud.kr;
}



약간의 응용을 하면 조건을 걸 수도 있다. 특정 도메인으로 접속시에만 호스트 바꾸기

poc.opencloud.kr로 접속 했을 경우에만 test.opencloud.kr로 host를 바꾸고, 나머지는 원래 접속한 도메인으로 보내는 방법

set $my_host $http_host;
if ($http_host = "poc.opencloud.kr") {
  set $my_host "test.opencloud.kr";
}
location / {
  proxy_pass http://origin.opencloud.kr;
proxy_set_header Host $my_host; }


https://www.fun25.co.kr/blog/linux-centos-7-change-timezone/?page=9


CentOS 7 에서 타임존 변경 방법입니다.

사용가능한 타임존

# timedatectl list-timezones | grep Seoul
Asia/Seoul

타임존 변경

# timedatectl set-timezone Asia/Seoul


수동으로 변경해야 할 경우는 기존의 /etc/localtime 파일을 삭제 후

# ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

타임존 확인

# date
2016. 01. 18. (월) 21:12:30 KST


'ETC.' 카테고리의 다른 글

TCP 튜닝  (0) 2018.03.30
Let's Encrypt Wildcard 인증서 발급하기  (0) 2018.03.29
[리눅스] CentOS 7 타임존 변경  (0) 2018.02.08
Proxy 설정 - nginx 사용하기  (0) 2017.12.14
Subnet BIT  (0) 2017.08.30

https://aws.amazon.com/ko/blogs/korea/the-floodgates-are-open-increased-network-bandwidth-for-ec2-instances/

요약:

  • EC2 - S3
    기존 5Gbps -> 25Gbps

  • EC2 - EC2
    5Gbps(단일 흐름 트래픽) , 25Gbps(다중 흐름 트래픽) , Multi-AZ 포함

  • EC2 - EC2(클러스터 배치 그룹)
    10Gbps(단일 흐름 트래픽) , 25Gbps(다중 흐름 트래픽) , Placement Group이므로 Single-AZ


+ Recent posts