CentOS 7에서 네트워킹은 어떻게 작동합니까? 구체적으로 ifconfig?

CentOS 7에서 네트워킹은 어떻게 작동합니까? 구체적으로 ifconfig?

목표: 가상 머신에서 PC 및 인터넷으로의 트래픽 라우팅을 구성합니다. CentOS7에서 wlan0에서 eth0으로 또는 그 반대로 트래픽 전달을 구성합니다.

내 토폴로지:

VM - (유선) --- eth0=RPI=wlan0 -(무선)- 라우터 -- ISP
                                               |
                                           (무선 전화)
                                               개인용 컴퓨터

발행되는 명령:

sudo ifconfig eth0 192.168.56.1 netmask 255.255.255.0
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -A FORWARD --in-interface eth0 -j ACCEPT
sudo iptables --table nat -A POSTROUTING --out-interface wlan0 -j MASQUERADE

이제 네트워크 스크립트 폴더를 확인했습니다.

[pi@rtr001 network-scripts]$ ls
ifcfg-FunBox-84A8  ifdown-ppp       ifup-ippp    ifup-TeamPort
ifcfg-link         ifdown-routes    ifup-ipv6    ifup-tunnel
ifcfg-lo           ifdown-sit       ifup-isdn    ifup-wireless
ifdown             ifdown-Team      ifup-plip    init.ipv6-global
ifdown-bnep        ifdown-TeamPort  ifup-plusb   keys-FunBox-84A8
ifdown-eth         ifdown-tunnel    ifup-post    network-functions
ifdown-ippp        ifup             ifup-ppp     network-functions-ipv6
ifdown-ipv6        ifup-aliases     ifup-routes
ifdown-isdn        ifup-bnep        ifup-sit
ifdown-post        ifup-eth         ifup-Team

ifcfg-eth0거기에는 없지만 아래 출력에서는 ifconfig주소가 할당되었으며 IP 10.10.10.2를 사용하여 이더넷 포트에 연결된 장치에 ping을 보낼 수 있음을 보여줍니다 .

[pi@rtr001 network-scripts]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.10.1  netmask 255.255.255.0  broadcast 10.10.10.255
        ether b8:27:eb:d7:d7:9a  txqueuelen 1000  (Ethernet)
        RX packets 3  bytes 214 (214.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 50  bytes 8296 (8.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 32  bytes 2592 (2.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 2592 (2.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.26  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::47ae:281a:680f:11eb  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:82:82:cf  txqueuelen 1000  (Ethernet)
        RX packets 649  bytes 42528 (41.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 492  bytes 69881 (68.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

또한 IP 10.10.10.2가 있는 VM은 10.10.10.1을 ping할 수 있지만 192.168.1.22(RPI - 라우터 사이의 서브넷 192.168.XX에 있는 모든 IP)는 ping할 수 없습니다.

질문:

  1. sudo ifconfig eth0 10.10.10.1 netmask 255.255.255.0Linux에서 파일을 수정하는 목적은 무엇입니까? 즉, 출력에 따르면 ifconfig주소가 eth0할당된 것처럼 보이지만 구체적인 내용은 없습니다 ifcfg-eth0.
  2. 재부팅 후 eth0 구성을 표시하는 방법은 무엇입니까?
  3. VM의 192.168.XX 서브넷에서 ping을 수행하려면 RPI에서 무엇을 수정해야 합니까?
  4. NAT IP 테이블을 보는 방법과 어떤 명령을 실행해야 합니까? iptables -LNAT 규칙이 표시되지 않는 것 같습니다 ...

답변1

이 명령은 sudo ifconfig...파일을 변경하지 않습니다. 다음에 재부팅하거나 다음 ifconfigIP, 넷마스크 등의 값이 변경될 때까지 변경됩니다.

지속적으로 변경하려면 파일을 만들고 ifcfg-eth0파일에 정보를 입력하세요(비슷함).

DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
NETWORK=192.168.56.0
NETMASK=255.255.255.0
IPADDR=192.168.56.1
USERCTL=no

관련 정보