유선 network 자동 연결

key9ain의 이미지

리눅스를 공부 중인 학생입니다. 평소에 USB에 리눅스를 담아 여러 PC에서 사용하는데 문제점이, 학교 PC는 고정 IP를 사용하며, 이것을 부팅시 자동으로 불러 들이는 방법을 모른다는 것입니다.

아래는 부연 설명을 쭉 적은 것이고, 질문의 핵심은 2가지 입니다.
1. network interface(enp3s0)가 달라도 자동으로 연결 가능한 방법이 있나요?
2. 실무자에게 있어서 어떤 문제를 해결하고자 할 때, 그 문제를 해결하는 정석을 몰라도 해결만 하면 되나요?

A. shell script
이 경우 이것을 어떻게 실행 자동 실행해야 할지 모르겠습니다.
/etc/rc.conf나 /etc/inittab를 쓰라고 하던데, 아치 리눅스에는 없더군요.

 
#!/bin/bash
MAC_ADDR=`ip -o link | awk -F'link/ether ' '{print $2}' | cut -c 1-17`
case $MAC_ADDR in        # MAC주소를 확인해서
    *00:30:67:78:30:8c)
        netctl start 701;;        # 701호실의 profile을 읽어 들입니다.
    *)
        echo "NO";;
esac

B. netctl-ifplugd
netctl이 유선 자동연결을 위해 netctl-ifplugd를 사용할 수도 없는 것이 PC마다 interface가 다릅니다. 한곳은 enp3s0, 한 곳은 enp4s0

k1d0bus3의 이미지

- 보아하니 각 호실마다의 네트웍정보는 가지고 계신듯 합니다??

- 맥주소를 파싱 하지 마시고 network interface를 파싱하여, netctl 명령대신 ifconfig,route 명령어와 연결시켜주는 스크립트는 어떻습니까?

       ifconfig eth0 down
       ifconfig eth0 192.168.0.200 netmask 255.255.255.0 broadcast 192.168.0.255 up
       route add default gw 192.168.0.1
       echo "nameserver 192.168.0.1" > /etc/resolv.conf

- netctl, interfaces, network_manager 같은 고수준 명령어들은, ifconfig, dhclient, iwconfig, route, iwlist 뭐 이런 기본(저수준)명령어들을 wrapping 시킨걸로 보입니다.
저 같으면 조금 명령어 많이 입력하더라도 기본명령어들을 쓰겠습니다. 왜냐하면 wrapping된 명령어들은 배포판마다 지원여부가 불확실하고 디버깅도 어려울때가 있기 때문입니다.
반면 기본명령어들은 긴 사용방법을 한번만 문서화 시켜두면 어느배포판이건 임베디드 시스템이건 두고두고 써먹을 수 있으니깐요.

- 리눅스 시동후 초기화 프로세스는 여러개가 있는데, 대표적인 3가지가, systemV, systemD, upstart. 배포판마다 다릅니다.
아치리눅스를 써보진 않았지만 systemd를 쓰는 걸로 압니다. systemd 설정방법에 대해 조사해서 넣으면 될겁니다. "rc.conf, inittab"은 systemV 설정이라서 없을 겁니다.

- 리눅스 부팅하면 root셀은 띄우실테니, 저같으면 ".bashrc"에 스크립트 넣겠습니다. 배포판마다 다른 초기화설정 공부하기 귀찮지 않나요? 저는 괜히 내가 만든 스크립트를 시스템설정에 넣는게 죄스럽기도 해서 그렇게 합니다.

익명 사용자의 이미지

enp3s0, enp4s0 에 대한 netctl profile 을 만들고 둘 다 enable 해 두면, 부팅시 존재하는 인터페이스에 대해서만 네트워크 셋업이 되고 나머지는 실패하므로 원하시는 결과가 나올 거 같습니다.

익명 사용자의 이미지

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.