diff --git a/doc/main.aux b/doc/main.aux deleted file mode 100644 index 3becf30..0000000 --- a/doc/main.aux +++ /dev/null @@ -1,19 +0,0 @@ -\relax -\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {2}Prerequisites}{1}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {3}Step-by-Step Configuration}{1}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Creating and Setting Up the Incus Container}{1}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Firewall Configuration}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Installing Additional Packages}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Configuring Users and Permissions}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}Changing the Root Password}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.2}Adding a New User}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Accessing the Container}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Installing dnsmasq}{3}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Configuring the Network with Netplan}{3}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Configuring dnsmasq}{3}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.9}Starting and Enabling dnsmasq}{4}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {3.10}Testing the Configuration}{4}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4}Troubleshooting}{4}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5}Conclusion}{5}{}\protected@file@percent } -\gdef \@abspage@last{5} diff --git a/doc/main.log b/doc/main.log deleted file mode 100644 index 013624e..0000000 --- a/doc/main.log +++ /dev/null @@ -1,339 +0,0 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2025/dev/Debian) (preloaded format=pdflatex 2025.5.15) 22 MAY 2025 09:33 -entering extended mode - restricted \write18 enabled. - %&-line parsing enabled. -**main -(./main.tex -LaTeX2e <2024-11-01> patch level 2 -L3 programming layer <2025-01-18> -(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls -Document Class: article 2024/06/29 v1.4n Standard LaTeX document class -(/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo -File: size12.clo 2024/06/29 v1.4n Standard LaTeX file (size option) -) -\c@part=\count196 -\c@section=\count197 -\c@subsection=\count198 -\c@subsubsection=\count199 -\c@paragraph=\count266 -\c@subparagraph=\count267 -\c@figure=\count268 -\c@table=\count269 -\abovecaptionskip=\skip49 -\belowcaptionskip=\skip50 -\bibindent=\dimen141 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty -Package: inputenc 2024/02/08 v1.3d Input encoding file -\inpenc@prehook=\toks17 -\inpenc@posthook=\toks18 -) -(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty -Package: fontenc 2021/04/29 v2.0v Standard LaTeX package -) -(/usr/share/texmf/tex/latex/lm/lmodern.sty -Package: lmodern 2015/05/01 v1.6.1 Latin Modern Fonts -LaTeX Font Info: Overwriting symbol font `operators' in version `normal' -(Font) OT1/cmr/m/n --> OT1/lmr/m/n on input line 22. -LaTeX Font Info: Overwriting symbol font `letters' in version `normal' -(Font) OML/cmm/m/it --> OML/lmm/m/it on input line 23. -LaTeX Font Info: Overwriting symbol font `symbols' in version `normal' -(Font) OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `normal' -(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 25. -LaTeX Font Info: Overwriting symbol font `operators' in version `bold' -(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26. -LaTeX Font Info: Overwriting symbol font `letters' in version `bold' -(Font) OML/cmm/b/it --> OML/lmm/b/it on input line 27. -LaTeX Font Info: Overwriting symbol font `symbols' in version `bold' -(Font) OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28. -LaTeX Font Info: Overwriting symbol font `largesymbols' in version `bold' -(Font) OMX/cmex/m/n --> OMX/lmex/m/n on input line 29. -LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal' -(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal' -(Font) OT1/cmss/m/n --> OT1/lmss/m/n on input line 32. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal' -(Font) OT1/cmr/m/it --> OT1/lmr/m/it on input line 33. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal' -(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34. -LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold' -(Font) OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35. -LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold' -(Font) OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36. -LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold' -(Font) OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37. -LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold' -(Font) OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38. -) -(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty -Package: geometry 2020/01/02 v5.9 Page Geometry - -(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty -Package: keyval 2022/05/29 v1.15 key=value parser (DPC) -\KV@toks@=\toks19 -) -(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty -Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead. - -(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty -Package: iftex 2024/12/12 v1.0g TeX engine tests -)) -\Gm@cnth=\count270 -\Gm@cntv=\count271 -\c@Gm@tempcnt=\count272 -\Gm@bindingoffset=\dimen142 -\Gm@wd@mp=\dimen143 -\Gm@odd@mp=\dimen144 -\Gm@even@mp=\dimen145 -\Gm@layoutwidth=\dimen146 -\Gm@layoutheight=\dimen147 -\Gm@layouthoffset=\dimen148 -\Gm@layoutvoffset=\dimen149 -\Gm@dimlist=\toks20 -) -(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty -\lst@mode=\count273 -\lst@gtempboxa=\box52 -\lst@token=\toks21 -\lst@length=\count274 -\lst@currlwidth=\dimen150 -\lst@column=\count275 -\lst@pos=\count276 -\lst@lostspace=\dimen151 -\lst@width=\dimen152 -\lst@newlines=\count277 -\lst@lineno=\count278 -\lst@maxwidth=\dimen153 - -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstpatch.sty -File: lstpatch.sty 2024/09/23 1.10c (Carsten Heinz) -) -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty -File: lstmisc.sty 2024/09/23 1.10c (Carsten Heinz) -\c@lstnumber=\count279 -\lst@skipnumbers=\count280 -\lst@framebox=\box53 -) -(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg -File: listings.cfg 2024/09/23 1.10c listings configuration -)) -Package: listings 2024/09/23 1.10c (Carsten Heinz) - -(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty -Package: xcolor 2024/09/29 v3.02 LaTeX color extensions (UK) - -(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg -File: color.cfg 2016/01/02 v1.6 sample color configuration -) -Package xcolor Info: Driver file: pdftex.def on input line 274. - -(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def -File: pdftex.def 2024/04/13 v1.2c Graphics/color driver for pdftex -) -(/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx) -Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1349. -Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1353. -Package xcolor Info: Model `RGB' extended on input line 1365. -Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1367. -Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1368. -Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1369. -Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1370. -Package xcolor Info: Model `Gray' substituted by `gray' on input line 1371. -Package xcolor Info: Model `wave' substituted by `hsb' on input line 1372. -) -(/usr/share/texlive/texmf-dist/tex/latex/parskip/parskip.sty -Package: parskip 2021-03-14 v2.0h non-zero parskip adjustments - -(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty -Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO) - -(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty -Package: ltxcmds 2023-12-04 v1.26 LaTeX kernel commands for general use (HO) -) -(/usr/share/texlive/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty -Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO) -)) -(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty -Package: etoolbox 2025/02/11 v2.5l e-TeX tools for LaTeX (JAW) -\etb@tempcnta=\count281 -)) -LaTeX Font Info: Trying to load font information for T1+lmr on input line 35 -. - -(/usr/share/texmf/tex/latex/lm/t1lmr.fd -File: t1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern -) -(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def -File: l3backend-pdftex.def 2024-05-08 L3 backend support: PDF output (pdfTeX) -\l__color_backend_stack_int=\count282 -\l__pdf_internal_box=\box54 -) -(./main.aux) -\openout1 = `main.aux'. - -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 35. -LaTeX Font Info: ... okay on input line 35. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 35. -LaTeX Font Info: ... okay on input line 35. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 35. -LaTeX Font Info: ... okay on input line 35. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 35. -LaTeX Font Info: ... okay on input line 35. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 35. -LaTeX Font Info: ... okay on input line 35. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 35. -LaTeX Font Info: ... okay on input line 35. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 35. -LaTeX Font Info: ... okay on input line 35. - -*geometry* driver: auto-detecting -*geometry* detected driver: pdftex -*geometry* verbose mode - [ preamble ] result: -* driver: pdftex -* paper: a4paper -* layout: -* layoutoffset:(h,v)=(0.0pt,0.0pt) -* modes: -* h-part:(L,W,R)=(72.26999pt, 452.9679pt, 72.26999pt) -* v-part:(T,H,B)=(72.26999pt, 700.50687pt, 72.26999pt) -* \paperwidth=597.50787pt -* \paperheight=845.04684pt -* \textwidth=452.9679pt -* \textheight=700.50687pt -* \oddsidemargin=0.0pt -* \evensidemargin=0.0pt -* \topmargin=-37.0pt -* \headheight=12.0pt -* \headsep=25.0pt -* \topskip=12.0pt -* \footskip=30.0pt -* \marginparwidth=35.0pt -* \marginparsep=10.0pt -* \columnsep=10.0pt -* \skip\footins=10.8pt plus 4.0pt minus 2.0pt -* \hoffset=0.0pt -* \voffset=0.0pt -* \mag=1000 -* \@twocolumnfalse -* \@twosidefalse -* \@mparswitchfalse -* \@reversemarginfalse -* (1in=72.27pt=25.4mm, 1cm=28.453pt) - -\c@lstlisting=\count283 -(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii -[Loading MPS to PDF converter (version 2006.09.02).] -\scratchcounter=\count284 -\scratchdimen=\dimen154 -\scratchbox=\box55 -\nofMPsegments=\count285 -\nofMParguments=\count286 -\everyMPshowfont=\toks22 -\MPscratchCnt=\count287 -\MPscratchDim=\dimen155 -\MPnumerator=\count288 -\makeMPintoPDFobject=\count289 -\everyMPtoPDFconversion=\toks23 -) -LaTeX Font Info: Trying to load font information for OT1+lmr on input line 4 -0. - (/usr/share/texmf/tex/latex/lm/ot1lmr.fd -File: ot1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OML+lmm on input line 4 -0. - -(/usr/share/texmf/tex/latex/lm/omllmm.fd -File: omllmm.fd 2015/05/01 v1.6.1 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OMS+lmsy on input line -40. - -(/usr/share/texmf/tex/latex/lm/omslmsy.fd -File: omslmsy.fd 2015/05/01 v1.6.1 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for OMX+lmex on input line -40. - -(/usr/share/texmf/tex/latex/lm/omxlmex.fd -File: omxlmex.fd 2015/05/01 v1.6.1 Font defs for Latin Modern -) -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <14.4> on input line 40. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <10> on input line 40. -LaTeX Font Info: External font `lmex10' loaded for size -(Font) <7> on input line 40. -LaTeX Font Info: Trying to load font information for T1+lmtt on input line 4 -3. - -(/usr/share/texmf/tex/latex/lm/t1lmtt.fd -File: t1lmtt.fd 2015/05/01 v1.6.1 Font defs for Latin Modern -) -LaTeX Font Info: Trying to load font information for TS1+lmr on input line 4 -8. - -(/usr/share/texmf/tex/latex/lm/ts1lmr.fd -File: ts1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern -) -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty -File: lstlang1.sty 2024/09/23 1.10c listings language file -) -(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty -File: lstlang1.sty 2024/09/23 1.10c listings language file -) -Overfull \hbox (23.59369pt too wide) in paragraph at lines 65--66 -\T1/lmr/m/n/12 The \T1/lmtt/m/n/12 security.syscalls.intercept.mount\T1/lmr/m/n -/12 , \T1/lmtt/m/n/12 security.nesting\T1/lmr/m/n/12 , and \T1/lmtt/m/n/12 secu -rity.privileged - [] - - - -[1 - -{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf/fonts/enc/ -dvips/lm/lm-ec.enc}{/usr/share/texmf/fonts/enc/dvips/lm/lm-ts1.enc}] - -[2] -LaTeX Font Info: Font shape `T1/lmtt/bx/n' in size <10.95> not available -(Font) Font shape `T1/lmtt/b/n' tried instead on input line 127. - - -[3] -Overfull \hbox (25.69144pt too wide) in paragraph at lines 174--175 -[]\T1/lmtt/m/n/12 dhcp-range\T1/lmr/m/n/12 : De-fines the IP range for DHCP cli -ents (from 192.168.1.100 to 192.168.1.200, - [] - - - -[4] - -[5] (./main.aux) - *********** -LaTeX2e <2024-11-01> patch level 2 -L3 programming layer <2025-01-18> - *********** - ) -Here is how much of TeX's memory you used: - 5025 strings out of 475178 - 72920 string characters out of 5766539 - 841393 words of memory out of 5000000 - 27979 multiletter control sequences out of 15000+600000 - 599267 words of font info for 61 fonts, out of 8000000 for 9000 - 14 hyphenation exceptions out of 8191 - 57i,5n,65p,493b,1247s stack positions out of 10000i,1000n,20000p,200000b,200000s - -Output written on main.pdf (5 pages, 203600 bytes). -PDF statistics: - 60 PDF objects out of 1000 (max. 8388607) - 37 compressed objects within 1 object stream - 0 named destinations out of 1000 (max. 500000) - 1 words of extra memory for PDF output out of 10000 (max. 10000000) - diff --git a/doc/main.pdf b/doc/main.pdf index cf400c5..83d94a9 100644 Binary files a/doc/main.pdf and b/doc/main.pdf differ diff --git a/doc/main.tex b/doc/main.tex index cc57d9f..50e2483 100644 --- a/doc/main.tex +++ b/doc/main.tex @@ -107,9 +107,25 @@ incus exec dnsmasq-container -- usermod -aG docker user \subsection{Accessing the Container} Access the container's shell: \begin{lstlisting}[language=bash] -incus exec dnsmasq-container -- bash +incus exec dnsmasq-container -- su - user \end{lstlisting} +% New section for veth pair setup +\section{Setting Up a Veth Pair Between Container and Network Namespace} +To enable direct communication between a container and a network namespace, a virtual Ethernet (\texttt{veth}) pair is created. The following Python script (\texttt{link.py}) is used to create a \texttt{veth} pair between the \texttt{dnsmasq-container} (an Incus container) and the \texttt{ns1} network namespace, with interfaces named \texttt{vA} and \texttt{vB}. + +\begin{lstlisting} +sudo python3 link.py -n1 vA -t2 incus -ns2 dnsmasq-container -n2 vB +\end{lstlisting} + +This command: +\begin{itemize} + \item Creates a \texttt{veth} pair with one end (\texttt{vA}) in the default namespace and the other end (\texttt{vB}) in the \texttt{dnsmasq-container}'s network namespace. + \item Ensures the interfaces are set up and operational, allowing network traffic to flow between the container and the \texttt{ns1} namespace (or default namespace if \texttt{ns1} is not explicitly created). +\end{itemize} + +The script uses the \texttt{pyroute2} library to manage network interfaces and namespaces, and supports container types such as Incus, LXC, LXD, and Docker. Ensure the \texttt{dnsmasq-container} is running in Incus before executing the command. + \subsection{Installing dnsmasq} Update the package list and install \texttt{dnsmasq}: \begin{lstlisting}[language=bash]